{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tushare as ts\n",
    "import sys\n",
    "import os\n",
    "import time\n",
    "import json\n",
    "import pandas as pd\n",
    "from dateutil.parser import parse\n",
    "from datetime import datetime,timedelta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "token = \"17e7755e254f02cc312b8b7e22ded9a308924147f8546fdfbe653ba1\"\n",
    "ts.set_token(token)\n",
    "cons = ts.get_apis()\n",
    "pro = ts.pro_api()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "bond_codes = [\"123001\",\"127003\",\"110030\",\"113523\"]\n",
    "bond_realTime_price = ts.quotes(bond_codes, conn=cons)\n",
    "bond_realTime_price"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#bond_realTime_price = bond_realTime_price.set_index(\"code\")\n",
    "bond_realTime_price.loc[\"123001\",[\"bid1\"]].bid1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "bond_realTime_price.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "column_name = [\"bond_code\",\"bond_name\",\"bond_price\",\"bond_x1\",\"stock_name\",\"stock_price\",\"stock_x1\",\"pb\",\"convert_price\",\\\n",
    "              \"convert_value\",\"premium\",\"bond_value\",\"band\",\"option_value\",\"shuishou_price\",\"qiangshu_price\",\"bond_x2\",\\\n",
    "              \"bond_x3\",\"expire\",\"year\",\"return\",\"shuishou_ret\",\"amount\",\"operation\"]\n",
    "kezhuanzhai_basic_info_dir = \"C:\\\\quanttime\\\\src\\\\convertbond\\\\tmp.csv\"\n",
    "bond_basic_info = pd.read_csv(kezhuanzhai_basic_info_dir,index_col=False,encoding=\"gbk\",names=column_name)\n",
    "bond_basic_info = bond_basic_info.set_index(\"stock_name\")\n",
    "bond_basic_info"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "stock_basic_info_dir = \"C:\\\\quanttime\\\\data\\\\basic_info\\\\all_stock_info.csv\"\n",
    "stock_info_basic = pd.read_csv(stock_basic_info_dir, index_col=[\"display_name\"],encoding=\"gbk\")\n",
    "stock_info_basic.loc['平安银行',[\"code\",\"name\",\"start_date\",\"end_date\",\"type\"]].tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "convert_bond_basic_info = pd.merge(bond_basic_info,stock_info_basic,left_index=True,right_index=True)\n",
    "convert_bond_basic_info"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "ts_code_list = [\"000001.SH\",\"000300.SH\",\"000905.SH\",\"399001.SZ\",\"399005.SZ\",\"399006.SZ\",\"399016.SZ\",\"399300.SZ\"]\n",
    "file_basic_path = \"C:\\\\quanttime\\\\data\\\\index\\\\tushare\\\\\"\n",
    "for index in ts_code_list:\n",
    "    df_index = pro.index_dailybasic(ts_code=index,start_date=\"20040104\",end_date=\"20141231\")\n",
    "    df_index[\"trade_date\"] = df_index[\"trade_date\"].map(lambda x:parse(x).date().strftime('%Y-%m-%d'))\n",
    "    df_index = df_index.sort_index(ascending=False)\n",
    "    df_index = df_index.set_index(\"trade_date\")\n",
    "    file_path = file_basic_path + index + '.csv'\n",
    "    df_index.to_csv(file_path)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df[\"trade_date\"] = df[\"trade_date\"].map(lambda x:parse(x).date().strftime('%Y-%m-%d'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#df = df.sort_index(ascending=False)\n",
    "#df = df.set_index(\"trade_date\")\n",
    "df.to_csv(\"C:\\\\quanttime\\\\data\\\\index\\\\tushare\\\\000001.SH.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 分红方法 dividend\n",
    "df = pro.dividend(ts_code = '601988.SH')\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "select_columns = [\"ts_code\", \"name\", \"industry\"]\n",
    "bank = pd.read_csv(r\"C:\\quanttime\\data\\basic_info\\all_stock_info_ts.csv\",usecols=select_columns, encoding=\"gbk\")\n",
    "bank = bank[bank[\"industry\"] == \"银行\"]\n",
    "print(bank)\n",
    "bank[[\"ts_code\", \"name\"]].to_csv(r\"C:\\quanttime\\src\\watch_time\\bank_info.csv\", encoding=\"gbk\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "columns_name = [\"code\", \"name\", \"price\", \"net_value\", \"pb2\", \"ret9\", \"index_value9\"]\n",
    "data = pd.read_csv(r\"C:\\quanttime\\src\\watch_time\\flitter.txt\", encoding=\"gbk\", delim_whitespace=True, names=columns_name, header=0)\n",
    "data "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for index, row in data.iterrows():\n",
    "    print(index)\n",
    "    print(type(row['name']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "select_columns = [\"ts_code\", \"name\", \"industry\"]\n",
    "security = pd.read_csv(r\"C:\\quanttime\\data\\basic_info\\all_stock_info_ts.csv\",\n",
    "                    usecols=select_columns, encoding=\"gbk\", index_col=[\"ts_code\"])\n",
    "security = security[security[\"industry\"] == \"证券\"]\n",
    "security"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "basic_path = \"C:\\\\quanttime\\\\data\\\\finance\\\\valuation\\\\\"\n",
    "file_path = basic_path + \"600030.XSHG\" + \".csv\"\n",
    "get_columns = [\"code\", \"day\", \"pe_ratio\", \"pb_ratio\"]\n",
    "df_valuation = pd.read_csv(file_path)\n",
    "df_valuation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "last_update = pd.read_csv(r'C:\\quanttime\\src\\regular_maintenance\\valuation_last_update.csv',index_col=[\"module\"], parse_dates=[\"date\"])\n",
    "last_update"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "last_update = last_update.fillna(0)\n",
    "last_update.loc[\"update_valuation_by_ts\", [\"last_update_code\"]].last_update_code == 0\n",
    "\"601318.SH\"[0:6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pro.fina_indicator(ts_code=\"601318.SH\",start_date=\"201811\",end_date=\"20190112\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print(data)\n",
    "for i in data.columns:\n",
    "    print(i)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data1 = pro.fina_indicator(ts_code=\"601318.SH\",period=\"20190331\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "sw_index_info_dir = r'C:\\quanttime\\data\\index\\basic_index_info\\basic_index_info_sw.csv'\n",
    "df_sw_index_info = pd.read_csv(sw_index_info_dir, encoding=\"gbk\", usecols=[\"ts_code\", \"category\"], index_col=[\"ts_code\"])\n",
    "df_sw_index_info"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "tmp = pro.daily_basic(ts_code='',trade_date='20190530')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "tmp = tmp.set_index(\"trade_date\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "columns_name=['ts_code', 'close', 'turnover_rate', 'turnover_rate_f', 'volume_ratio', 'pe', 'pe_ttm', 'pb',\n",
    "              'ps', 'ps_ttm', 'total_share', 'float_share', 'free_share', 'total_mv', 'circ_mv']\n",
    "tmp_data = [tmp.iloc[0].values]\n",
    "tmp_df = pd.DataFrame(data=tmp_data, columns=columns_name,index=pd.Index([tmp.index[0]]))\n",
    "#tmp_df.index_name = \"trade_date\"\n",
    "#tmp_df.index.value = \"20190530\"\n",
    "tmp_df.to_csv(r'C:\\quanttime\\data\\finance\\ts\\valuation\\300516.SZ.csv',mode='a', header=None)\n",
    "tmp_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "valution len:1\n",
      "valution len:2\n",
      "valution len:3\n",
      "valution len:4\n",
      "valution len:5\n",
      "valution len:6\n",
      "valution len:7\n",
      "valution len:8\n",
      "valution len:9\n",
      "valution len:10\n",
      "valution len:11\n",
      "valution len:12\n",
      "valution len:13\n",
      "valution len:14\n",
      "valution len:15\n",
      "valution len:16\n",
      "valution len:17\n",
      "valution len:18\n",
      "valution len:19\n",
      "valution len:20\n",
      "valution len:21\n",
      "valution len:22\n",
      "valution len:23\n",
      "valution len:24\n",
      "valution len:25\n",
      "valution len:26\n",
      "valution len:27\n",
      "valution len:28\n",
      "valution len:29\n",
      "valution len:30\n",
      "valution len:31\n",
      "valution len:32\n",
      "valution len:33\n",
      "valution len:34\n",
      "valution len:35\n",
      "valution len:36\n",
      "valution len:37\n",
      "valution len:38\n",
      "valution len:39\n",
      "valution len:40\n",
      "valution len:41\n",
      "valution len:42\n",
      "valution len:43\n",
      "valution len:44\n",
      "valution len:45\n",
      "valution len:46\n",
      "valution len:47\n",
      "valution len:48\n",
      "valution len:49\n",
      "valution len:50\n",
      "valution len:51\n",
      "valution len:52\n",
      "valution len:53\n",
      "valution len:54\n",
      "valution len:55\n",
      "valution len:56\n",
      "valution len:57\n",
      "valution len:58\n",
      "valution len:59\n",
      "valution len:60\n",
      "valution len:61\n",
      "valution len:62\n",
      "valution len:63\n",
      "valution len:64\n",
      "valution len:65\n",
      "valution len:66\n",
      "valution len:67\n",
      "valution len:68\n",
      "valution len:69\n",
      "valution len:70\n",
      "valution len:71\n",
      "valution len:72\n",
      "valution len:73\n",
      "valution len:74\n",
      "valution len:75\n",
      "valution len:76\n",
      "valution len:77\n",
      "valution len:78\n",
      "valution len:79\n",
      "valution len:80\n",
      "valution len:81\n",
      "valution len:82\n",
      "valution len:83\n",
      "valution len:84\n",
      "valution len:85\n",
      "valution len:86\n",
      "valution len:87\n",
      "valution len:88\n",
      "valution len:89\n",
      "valution len:90\n",
      "valution len:91\n",
      "valution len:92\n",
      "valution len:93\n",
      "valution len:94\n",
      "valution len:95\n",
      "valution len:96\n",
      "valution len:97\n",
      "valution len:98\n",
      "valution len:99\n",
      "valution len:100\n",
      "valution len:101\n",
      "valution len:102\n",
      "valution len:103\n",
      "valution len:104\n",
      "valution len:105\n",
      "valution len:106\n",
      "valution len:107\n",
      "valution len:108\n",
      "valution len:109\n",
      "valution len:110\n",
      "valution len:111\n",
      "valution len:112\n",
      "valution len:113\n",
      "valution len:114\n",
      "valution len:115\n",
      "valution len:116\n",
      "valution len:117\n",
      "valution len:118\n",
      "valution len:119\n",
      "valution len:120\n",
      "valution len:121\n",
      "valution len:122\n",
      "valution len:123\n",
      "valution len:124\n",
      "valution len:125\n",
      "valution len:126\n",
      "valution len:127\n",
      "valution len:128\n",
      "valution len:129\n",
      "valution len:130\n",
      "valution len:131\n",
      "valution len:132\n",
      "valution len:133\n",
      "valution len:134\n",
      "valution len:135\n",
      "valution len:136\n",
      "valution len:137\n",
      "valution len:138\n",
      "valution len:139\n",
      "valution len:140\n",
      "valution len:141\n",
      "valution len:142\n",
      "valution len:143\n",
      "valution len:144\n",
      "valution len:145\n",
      "valution len:146\n",
      "valution len:147\n",
      "valution len:148\n",
      "valution len:149\n",
      "valution len:150\n",
      "valution len:151\n",
      "valution len:152\n",
      "valution len:153\n",
      "valution len:154\n",
      "valution len:155\n",
      "valution len:156\n",
      "valution len:157\n",
      "valution len:158\n",
      "valution len:159\n",
      "valution len:160\n",
      "valution len:161\n",
      "valution len:162\n",
      "valution len:163\n",
      "valution len:164\n",
      "valution len:165\n",
      "valution len:166\n",
      "valution len:167\n",
      "valution len:168\n",
      "valution len:169\n",
      "valution len:170\n",
      "valution len:171\n",
      "valution len:172\n",
      "valution len:173\n",
      "valution len:174\n",
      "valution len:175\n",
      "valution len:176\n",
      "valution len:177\n",
      "valution len:178\n",
      "valution len:179\n",
      "valution len:180\n",
      "valution len:181\n",
      "valution len:182\n",
      "valution len:183\n",
      "valution len:184\n",
      "valution len:185\n",
      "valution len:186\n",
      "valution len:187\n",
      "valution len:188\n",
      "valution len:189\n",
      "valution len:190\n",
      "valution len:191\n",
      "valution len:192\n",
      "valution len:193\n",
      "valution len:194\n",
      "valution len:195\n",
      "valution len:196\n",
      "valution len:197\n",
      "valution len:198\n",
      "valution len:199\n",
      "valution len:200\n",
      "valution len:201\n",
      "valution len:202\n",
      "valution len:203\n",
      "valution len:204\n",
      "valution len:205\n",
      "valution len:206\n",
      "valution len:207\n",
      "valution len:208\n",
      "valution len:209\n",
      "valution len:210\n",
      "valution len:211\n",
      "valution len:212\n",
      "valution len:213\n",
      "valution len:214\n",
      "valution len:215\n",
      "valution len:216\n",
      "valution len:217\n",
      "valution len:218\n",
      "valution len:219\n",
      "valution len:220\n",
      "valution len:221\n",
      "valution len:222\n",
      "valution len:223\n",
      "valution len:224\n",
      "valution len:225\n",
      "valution len:226\n",
      "valution len:227\n",
      "valution len:228\n",
      "valution len:229\n",
      "valution len:230\n",
      "valution len:231\n",
      "valution len:232\n",
      "valution len:233\n",
      "valution len:234\n",
      "valution len:235\n",
      "valution len:236\n",
      "valution len:237\n",
      "valution len:238\n",
      "valution len:239\n",
      "valution len:240\n",
      "valution len:241\n",
      "valution len:242\n",
      "valution len:243\n",
      "valution len:244\n",
      "valution len:245\n",
      "valution len:246\n",
      "valution len:247\n",
      "valution len:248\n",
      "valution len:249\n",
      "valution len:250\n",
      "valution len:251\n",
      "valution len:252\n",
      "valution len:253\n",
      "valution len:254\n",
      "valution len:255\n",
      "valution len:256\n",
      "valution len:257\n",
      "valution len:258\n",
      "valution len:259\n",
      "valution len:260\n",
      "valution len:261\n",
      "valution len:262\n",
      "valution len:263\n",
      "valution len:264\n",
      "valution len:265\n",
      "valution len:266\n",
      "valution len:267\n",
      "valution len:268\n",
      "valution len:269\n",
      "valution len:270\n",
      "valution len:271\n",
      "valution len:272\n",
      "valution len:273\n",
      "valution len:274\n",
      "valution len:275\n",
      "valution len:276\n",
      "valution len:277\n",
      "valution len:278\n",
      "valution len:279\n",
      "valution len:280\n",
      "valution len:281\n",
      "valution len:282\n",
      "valution len:283\n",
      "valution len:284\n",
      "valution len:285\n",
      "valution len:286\n",
      "valution len:287\n",
      "valution len:288\n",
      "valution len:289\n",
      "valution len:290\n",
      "valution len:291\n",
      "valution len:292\n",
      "valution len:293\n",
      "valution len:294\n",
      "valution len:295\n",
      "valution len:296\n",
      "valution len:297\n",
      "valution len:298\n",
      "valution len:299\n",
      "valution len:300\n",
      "valution len:301\n",
      "valution len:302\n",
      "valution len:303\n",
      "valution len:304\n",
      "valution len:305\n",
      "valution len:306\n",
      "valution len:307\n",
      "valution len:308\n",
      "valution len:309\n",
      "valution len:310\n",
      "valution len:311\n",
      "valution len:312\n",
      "valution len:313\n",
      "valution len:314\n",
      "valution len:315\n",
      "valution len:316\n",
      "valution len:317\n",
      "valution len:318\n",
      "valution len:319\n",
      "valution len:320\n",
      "valution len:321\n",
      "valution len:322\n",
      "valution len:323\n",
      "valution len:324\n",
      "valution len:325\n",
      "valution len:326\n",
      "valution len:327\n",
      "valution len:328\n",
      "valution len:329\n",
      "valution len:330\n",
      "valution len:331\n",
      "valution len:332\n",
      "valution len:333\n",
      "valution len:334\n",
      "valution len:335\n",
      "valution len:336\n",
      "valution len:337\n",
      "valution len:338\n",
      "valution len:339\n",
      "valution len:340\n",
      "valution len:341\n",
      "valution len:342\n",
      "valution len:343\n",
      "valution len:344\n",
      "valution len:345\n",
      "valution len:346\n",
      "valution len:347\n",
      "valution len:348\n",
      "valution len:349\n",
      "valution len:350\n",
      "valution len:351\n",
      "valution len:352\n",
      "valution len:353\n",
      "valution len:354\n",
      "valution len:355\n",
      "valution len:356\n",
      "valution len:357\n",
      "valution len:358\n",
      "valution len:359\n",
      "valution len:360\n",
      "valution len:361\n",
      "valution len:362\n",
      "valution len:363\n",
      "valution len:364\n",
      "valution len:365\n",
      "valution len:366\n",
      "valution len:367\n",
      "valution len:368\n",
      "valution len:369\n",
      "valution len:370\n",
      "valution len:371\n",
      "valution len:372\n",
      "valution len:373\n",
      "valution len:374\n",
      "valution len:375\n",
      "valution len:376\n",
      "valution len:377\n",
      "valution len:378\n",
      "valution len:379\n",
      "valution len:380\n",
      "valution len:381\n",
      "valution len:382\n",
      "valution len:383\n",
      "valution len:384\n",
      "valution len:385\n",
      "valution len:386\n",
      "valution len:387\n",
      "valution len:388\n",
      "valution len:389\n",
      "valution len:390\n",
      "valution len:391\n",
      "valution len:392\n",
      "valution len:393\n",
      "valution len:394\n",
      "valution len:395\n",
      "valution len:396\n",
      "valution len:397\n",
      "valution len:398\n",
      "valution len:399\n",
      "valution len:400\n",
      "valution len:401\n",
      "valution len:402\n",
      "valution len:403\n",
      "valution len:404\n",
      "valution len:405\n",
      "valution len:406\n",
      "valution len:407\n",
      "valution len:408\n",
      "valution len:409\n",
      "valution len:410\n",
      "valution len:411\n",
      "valution len:412\n",
      "valution len:413\n",
      "valution len:414\n",
      "valution len:415\n",
      "valution len:416\n",
      "valution len:417\n",
      "valution len:418\n",
      "valution len:419\n",
      "valution len:420\n",
      "valution len:421\n",
      "valution len:422\n",
      "valution len:423\n",
      "valution len:424\n",
      "valution len:425\n",
      "valution len:426\n",
      "valution len:427\n",
      "valution len:428\n",
      "valution len:429\n",
      "valution len:430\n",
      "valution len:431\n",
      "valution len:432\n",
      "valution len:433\n",
      "valution len:434\n",
      "valution len:435\n",
      "valution len:436\n",
      "valution len:437\n",
      "valution len:438\n",
      "valution len:439\n",
      "valution len:440\n",
      "valution len:441\n",
      "valution len:442\n",
      "valution len:443\n",
      "valution len:444\n",
      "valution len:445\n",
      "valution len:446\n",
      "valution len:447\n",
      "valution len:448\n",
      "valution len:449\n",
      "valution len:450\n",
      "valution len:451\n",
      "valution len:452\n",
      "valution len:453\n",
      "valution len:454\n",
      "valution len:455\n",
      "valution len:456\n",
      "valution len:457\n",
      "valution len:458\n",
      "valution len:459\n",
      "valution len:460\n",
      "valution len:461\n",
      "valution len:462\n",
      "valution len:463\n",
      "valution len:464\n",
      "valution len:465\n",
      "valution len:466\n",
      "valution len:467\n",
      "valution len:468\n",
      "valution len:469\n",
      "valution len:470\n",
      "valution len:471\n",
      "valution len:472\n",
      "valution len:473\n",
      "valution len:474\n",
      "valution len:475\n",
      "valution len:476\n",
      "valution len:477\n",
      "valution len:478\n",
      "valution len:479\n",
      "valution len:480\n",
      "valution len:481\n",
      "valution len:482\n",
      "valution len:483\n",
      "valution len:484\n",
      "valution len:485\n",
      "valution len:486\n",
      "valution len:487\n",
      "valution len:488\n",
      "valution len:489\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "valution len:490\n",
      "valution len:491\n",
      "valution len:492\n",
      "valution len:493\n",
      "valution len:494\n",
      "valution len:495\n",
      "valution len:496\n",
      "valution len:497\n",
      "valution len:498\n",
      "valution len:499\n",
      "valution len:500\n",
      "valution len:501\n",
      "valution len:502\n",
      "valution len:503\n",
      "valution len:504\n",
      "valution len:505\n",
      "valution len:506\n",
      "valution len:507\n",
      "valution len:508\n",
      "valution len:509\n",
      "valution len:510\n",
      "valution len:511\n",
      "valution len:512\n",
      "valution len:513\n",
      "valution len:514\n",
      "valution len:515\n",
      "valution len:516\n",
      "valution len:517\n",
      "valution len:518\n",
      "valution len:519\n",
      "valution len:520\n",
      "valution len:521\n",
      "valution len:522\n",
      "valution len:523\n",
      "valution len:524\n",
      "valution len:525\n",
      "valution len:526\n",
      "valution len:527\n",
      "valution len:528\n",
      "valution len:529\n",
      "valution len:530\n",
      "valution len:531\n",
      "valution len:532\n",
      "valution len:533\n",
      "valution len:534\n",
      "valution len:535\n",
      "valution len:536\n",
      "valution len:537\n",
      "valution len:538\n",
      "valution len:539\n",
      "valution len:540\n",
      "valution len:541\n",
      "valution len:542\n",
      "valution len:543\n",
      "valution len:544\n",
      "valution len:545\n",
      "valution len:546\n",
      "valution len:547\n",
      "valution len:548\n",
      "valution len:549\n",
      "valution len:550\n",
      "valution len:551\n",
      "valution len:552\n",
      "valution len:553\n",
      "valution len:554\n",
      "valution len:555\n",
      "valution len:556\n",
      "valution len:557\n",
      "valution len:558\n",
      "valution len:559\n",
      "valution len:560\n",
      "valution len:561\n",
      "valution len:562\n",
      "valution len:563\n",
      "valution len:564\n",
      "valution len:565\n",
      "valution len:566\n",
      "valution len:567\n",
      "valution len:568\n",
      "valution len:569\n",
      "valution len:570\n",
      "valution len:571\n",
      "valution len:572\n",
      "valution len:573\n",
      "valution len:574\n",
      "valution len:575\n",
      "valution len:576\n",
      "valution len:577\n",
      "valution len:578\n",
      "valution len:579\n",
      "valution len:580\n",
      "valution len:581\n",
      "valution len:582\n",
      "valution len:583\n",
      "valution len:584\n",
      "valution len:585\n",
      "valution len:586\n",
      "valution len:587\n",
      "valution len:588\n",
      "valution len:589\n",
      "valution len:590\n",
      "valution len:591\n",
      "valution len:592\n",
      "valution len:593\n",
      "valution len:594\n",
      "valution len:595\n",
      "valution len:596\n",
      "valution len:597\n",
      "valution len:598\n",
      "valution len:599\n",
      "valution len:600\n",
      "valution len:601\n",
      "valution len:602\n",
      "valution len:603\n",
      "valution len:604\n",
      "valution len:605\n",
      "valution len:606\n",
      "valution len:607\n",
      "valution len:608\n",
      "valution len:609\n",
      "valution len:610\n",
      "valution len:611\n",
      "valution len:612\n",
      "valution len:613\n",
      "valution len:614\n",
      "valution len:615\n",
      "valution len:616\n",
      "valution len:617\n",
      "valution len:618\n",
      "valution len:619\n",
      "valution len:620\n",
      "valution len:621\n",
      "valution len:622\n",
      "valution len:623\n",
      "valution len:624\n",
      "valution len:625\n",
      "valution len:626\n",
      "valution len:627\n",
      "valution len:628\n",
      "valution len:629\n",
      "valution len:630\n",
      "valution len:631\n",
      "valution len:632\n",
      "valution len:633\n",
      "valution len:634\n",
      "valution len:635\n",
      "valution len:636\n",
      "valution len:637\n",
      "valution len:638\n",
      "valution len:639\n",
      "valution len:640\n",
      "valution len:641\n",
      "valution len:642\n",
      "valution len:643\n",
      "valution len:644\n",
      "valution len:645\n",
      "valution len:646\n",
      "valution len:647\n",
      "valution len:648\n",
      "valution len:649\n",
      "valution len:650\n",
      "valution len:651\n",
      "valution len:652\n",
      "valution len:653\n",
      "valution len:654\n",
      "valution len:655\n",
      "valution len:656\n",
      "valution len:657\n",
      "valution len:658\n",
      "valution len:659\n",
      "valution len:660\n",
      "valution len:661\n",
      "valution len:662\n",
      "valution len:663\n",
      "valution len:664\n",
      "valution len:665\n",
      "valution len:666\n",
      "valution len:667\n",
      "valution len:668\n",
      "valution len:669\n",
      "valution len:670\n",
      "valution len:671\n",
      "valution len:672\n",
      "valution len:673\n",
      "valution len:674\n",
      "valution len:675\n",
      "valution len:676\n",
      "valution len:677\n",
      "valution len:678\n",
      "valution len:679\n",
      "valution len:680\n",
      "valution len:681\n",
      "valution len:682\n",
      "valution len:683\n",
      "valution len:684\n",
      "valution len:685\n",
      "valution len:686\n",
      "valution len:687\n",
      "valution len:688\n",
      "valution len:689\n",
      "valution len:690\n",
      "valution len:691\n",
      "valution len:692\n",
      "valution len:693\n",
      "valution len:694\n",
      "valution len:695\n",
      "valution len:696\n",
      "valution len:697\n",
      "valution len:698\n",
      "valution len:699\n",
      "valution len:700\n",
      "valution len:701\n",
      "valution len:702\n",
      "valution len:703\n",
      "valution len:704\n",
      "valution len:705\n",
      "valution len:706\n",
      "valution len:707\n",
      "valution len:708\n",
      "valution len:709\n",
      "valution len:710\n",
      "valution len:711\n",
      "valution len:712\n",
      "valution len:713\n",
      "valution len:714\n",
      "valution len:715\n",
      "valution len:716\n",
      "valution len:717\n",
      "valution len:718\n",
      "valution len:719\n",
      "valution len:720\n",
      "valution len:721\n",
      "valution len:722\n",
      "valution len:723\n",
      "valution len:724\n",
      "valution len:725\n",
      "valution len:726\n",
      "valution len:727\n",
      "valution len:728\n",
      "valution len:729\n",
      "valution len:730\n",
      "valution len:731\n",
      "valution len:732\n",
      "valution len:733\n",
      "valution len:734\n",
      "valution len:735\n",
      "valution len:736\n",
      "valution len:737\n",
      "valution len:738\n",
      "valution len:739\n",
      "valution len:740\n",
      "valution len:741\n",
      "valution len:742\n",
      "valution len:743\n",
      "valution len:744\n",
      "valution len:745\n",
      "valution len:746\n",
      "valution len:747\n",
      "valution len:748\n",
      "valution len:749\n",
      "valution len:750\n",
      "valution len:751\n",
      "valution len:752\n",
      "valution len:753\n",
      "valution len:754\n",
      "valution len:755\n",
      "valution len:756\n",
      "valution len:757\n",
      "valution len:758\n",
      "valution len:759\n",
      "valution len:760\n",
      "valution len:761\n",
      "valution len:762\n",
      "valution len:763\n",
      "valution len:764\n",
      "valution len:765\n",
      "valution len:766\n",
      "valution len:767\n",
      "valution len:768\n",
      "valution len:769\n",
      "valution len:770\n",
      "valution len:771\n",
      "valution len:772\n",
      "valution len:773\n",
      "valution len:774\n",
      "valution len:775\n",
      "valution len:776\n",
      "valution len:777\n",
      "valution len:778\n",
      "valution len:779\n",
      "valution len:780\n",
      "valution len:781\n",
      "valution len:782\n",
      "valution len:783\n",
      "valution len:784\n",
      "valution len:785\n",
      "valution len:786\n",
      "valution len:787\n",
      "valution len:788\n",
      "valution len:789\n",
      "valution len:790\n",
      "valution len:791\n",
      "valution len:792\n",
      "valution len:793\n",
      "valution len:794\n",
      "valution len:795\n",
      "valution len:796\n",
      "valution len:797\n",
      "valution len:798\n",
      "valution len:799\n",
      "valution len:800\n",
      "valution len:801\n",
      "valution len:802\n",
      "valution len:803\n",
      "valution len:804\n",
      "valution len:805\n",
      "valution len:806\n",
      "valution len:807\n",
      "valution len:808\n",
      "valution len:809\n",
      "valution len:810\n",
      "valution len:811\n",
      "valution len:812\n",
      "valution len:813\n",
      "valution len:814\n",
      "valution len:815\n",
      "valution len:816\n",
      "valution len:817\n",
      "valution len:818\n",
      "valution len:819\n",
      "valution len:820\n",
      "valution len:821\n",
      "valution len:822\n",
      "valution len:823\n",
      "valution len:824\n",
      "valution len:825\n",
      "valution len:826\n",
      "valution len:827\n",
      "valution len:828\n",
      "valution len:829\n",
      "valution len:830\n",
      "valution len:831\n",
      "valution len:832\n",
      "valution len:833\n",
      "valution len:834\n",
      "valution len:835\n",
      "valution len:836\n",
      "valution len:837\n",
      "valution len:838\n",
      "valution len:839\n",
      "valution len:840\n",
      "valution len:841\n",
      "valution len:842\n",
      "valution len:843\n",
      "valution len:844\n",
      "valution len:845\n",
      "valution len:846\n",
      "valution len:847\n",
      "valution len:848\n",
      "valution len:849\n",
      "valution len:850\n",
      "valution len:851\n",
      "valution len:852\n",
      "valution len:853\n",
      "valution len:854\n",
      "valution len:855\n",
      "valution len:856\n",
      "valution len:857\n",
      "valution len:858\n",
      "valution len:859\n",
      "valution len:860\n",
      "valution len:861\n",
      "valution len:862\n",
      "valution len:863\n",
      "valution len:864\n",
      "valution len:865\n",
      "valution len:866\n",
      "valution len:867\n",
      "valution len:868\n",
      "valution len:869\n",
      "valution len:870\n",
      "valution len:871\n",
      "valution len:872\n",
      "valution len:873\n",
      "valution len:874\n",
      "valution len:875\n",
      "valution len:876\n",
      "valution len:877\n",
      "valution len:878\n",
      "valution len:879\n",
      "valution len:880\n",
      "valution len:881\n",
      "valution len:882\n",
      "valution len:883\n",
      "valution len:884\n",
      "valution len:885\n",
      "valution len:886\n",
      "valution len:887\n",
      "valution len:888\n",
      "valution len:889\n",
      "valution len:890\n",
      "valution len:891\n",
      "valution len:892\n",
      "valution len:893\n",
      "valution len:894\n",
      "valution len:895\n",
      "valution len:896\n",
      "valution len:897\n",
      "valution len:898\n",
      "valution len:899\n",
      "valution len:900\n",
      "valution len:901\n",
      "valution len:902\n",
      "valution len:903\n",
      "valution len:904\n",
      "valution len:905\n",
      "valution len:906\n",
      "valution len:907\n",
      "valution len:908\n",
      "valution len:909\n",
      "valution len:910\n",
      "valution len:911\n",
      "valution len:912\n",
      "valution len:913\n",
      "valution len:914\n",
      "valution len:915\n",
      "valution len:916\n",
      "valution len:917\n",
      "valution len:918\n",
      "valution len:919\n",
      "valution len:920\n",
      "valution len:921\n",
      "valution len:922\n",
      "valution len:923\n",
      "valution len:924\n",
      "valution len:925\n",
      "valution len:926\n",
      "valution len:927\n",
      "valution len:928\n",
      "valution len:929\n",
      "valution len:930\n",
      "valution len:931\n",
      "valution len:932\n",
      "valution len:933\n",
      "valution len:934\n",
      "valution len:935\n",
      "valution len:936\n",
      "valution len:937\n",
      "valution len:938\n",
      "valution len:939\n",
      "valution len:940\n",
      "valution len:941\n",
      "valution len:942\n",
      "valution len:943\n",
      "valution len:944\n",
      "valution len:945\n",
      "valution len:946\n",
      "valution len:947\n",
      "valution len:948\n",
      "valution len:949\n",
      "valution len:950\n",
      "valution len:951\n",
      "valution len:952\n",
      "valution len:953\n",
      "valution len:954\n",
      "valution len:955\n",
      "valution len:956\n",
      "valution len:957\n",
      "valution len:958\n",
      "valution len:959\n",
      "valution len:960\n",
      "valution len:961\n",
      "valution len:962\n",
      "valution len:963\n",
      "valution len:964\n",
      "valution len:965\n",
      "valution len:966\n",
      "valution len:967\n",
      "valution len:968\n",
      "valution len:969\n",
      "valution len:970\n",
      "valution len:971\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "valution len:972\n",
      "valution len:973\n",
      "valution len:974\n",
      "valution len:975\n",
      "valution len:976\n",
      "valution len:977\n",
      "valution len:978\n",
      "valution len:979\n",
      "valution len:980\n",
      "valution len:981\n",
      "valution len:982\n",
      "valution len:983\n",
      "valution len:984\n",
      "valution len:985\n",
      "valution len:986\n",
      "valution len:987\n",
      "valution len:988\n",
      "valution len:989\n",
      "valution len:990\n",
      "valution len:991\n",
      "valution len:992\n",
      "valution len:993\n",
      "valution len:994\n",
      "valution len:995\n",
      "valution len:996\n",
      "valution len:997\n",
      "valution len:998\n",
      "valution len:999\n",
      "valution len:1000\n",
      "valution len:1001\n",
      "valution len:1002\n",
      "valution len:1003\n",
      "valution len:1004\n",
      "valution len:1005\n",
      "valution len:1006\n",
      "valution len:1007\n",
      "valution len:1008\n",
      "valution len:1009\n",
      "valution len:1010\n",
      "valution len:1011\n",
      "valution len:1012\n",
      "valution len:1013\n",
      "valution len:1014\n",
      "valution len:1015\n",
      "valution len:1016\n",
      "valution len:1017\n",
      "valution len:1018\n",
      "valution len:1019\n",
      "valution len:1020\n",
      "valution len:1021\n",
      "valution len:1022\n",
      "valution len:1023\n",
      "valution len:1024\n",
      "valution len:1025\n",
      "valution len:1026\n",
      "valution len:1027\n",
      "valution len:1028\n",
      "valution len:1029\n",
      "valution len:1030\n",
      "valution len:1031\n",
      "valution len:1032\n",
      "valution len:1033\n",
      "valution len:1034\n",
      "valution len:1035\n",
      "valution len:1036\n",
      "valution len:1037\n",
      "valution len:1038\n",
      "valution len:1039\n",
      "valution len:1040\n",
      "valution len:1041\n",
      "valution len:1042\n",
      "valution len:1043\n",
      "valution len:1044\n",
      "valution len:1045\n",
      "valution len:1046\n",
      "valution len:1047\n",
      "valution len:1048\n",
      "valution len:1049\n",
      "valution len:1050\n",
      "valution len:1051\n",
      "valution len:1052\n",
      "valution len:1053\n",
      "valution len:1054\n",
      "valution len:1055\n",
      "valution len:1056\n",
      "valution len:1057\n",
      "valution len:1058\n",
      "valution len:1059\n",
      "valution len:1060\n",
      "valution len:1061\n",
      "valution len:1062\n",
      "valution len:1063\n",
      "valution len:1064\n",
      "valution len:1065\n",
      "valution len:1066\n",
      "valution len:1067\n",
      "valution len:1068\n",
      "valution len:1069\n",
      "valution len:1070\n",
      "valution len:1071\n",
      "valution len:1072\n",
      "valution len:1073\n",
      "valution len:1074\n",
      "valution len:1075\n",
      "valution len:1076\n",
      "valution len:1077\n",
      "valution len:1078\n",
      "valution len:1079\n",
      "valution len:1080\n",
      "valution len:1081\n",
      "valution len:1082\n",
      "valution len:1083\n",
      "valution len:1084\n",
      "valution len:1085\n",
      "valution len:1086\n",
      "valution len:1087\n",
      "valution len:1088\n",
      "valution len:1089\n",
      "valution len:1090\n",
      "valution len:1091\n",
      "valution len:1092\n",
      "valution len:1093\n",
      "valution len:1094\n",
      "valution len:1095\n",
      "valution len:1096\n",
      "valution len:1097\n",
      "valution len:1098\n",
      "valution len:1099\n",
      "valution len:1100\n",
      "valution len:1101\n",
      "valution len:1102\n",
      "valution len:1103\n",
      "valution len:1104\n",
      "valution len:1105\n",
      "valution len:1106\n",
      "valution len:1107\n",
      "valution len:1108\n",
      "valution len:1109\n",
      "valution len:1110\n",
      "valution len:1111\n",
      "valution len:1112\n",
      "valution len:1113\n",
      "valution len:1114\n",
      "valution len:1115\n",
      "valution len:1116\n",
      "valution len:1117\n",
      "valution len:1118\n",
      "valution len:1119\n",
      "valution len:1120\n",
      "valution len:1121\n",
      "valution len:1122\n",
      "valution len:1123\n",
      "valution len:1124\n",
      "valution len:1125\n",
      "valution len:1126\n",
      "valution len:1127\n",
      "valution len:1128\n",
      "valution len:1129\n",
      "valution len:1130\n",
      "valution len:1131\n",
      "valution len:1132\n",
      "valution len:1133\n",
      "valution len:1134\n",
      "valution len:1135\n",
      "valution len:1136\n",
      "valution len:1137\n",
      "valution len:1138\n",
      "valution len:1139\n",
      "valution len:1140\n",
      "valution len:1141\n",
      "valution len:1142\n",
      "valution len:1143\n",
      "valution len:1144\n",
      "valution len:1145\n",
      "valution len:1146\n",
      "valution len:1147\n",
      "valution len:1148\n",
      "valution len:1149\n",
      "valution len:1150\n",
      "valution len:1151\n",
      "valution len:1152\n",
      "valution len:1153\n",
      "valution len:1154\n",
      "valution len:1155\n",
      "valution len:1156\n",
      "valution len:1157\n",
      "valution len:1158\n",
      "valution len:1159\n",
      "valution len:1160\n",
      "valution len:1161\n",
      "valution len:1162\n",
      "valution len:1163\n",
      "valution len:1164\n",
      "valution len:1165\n",
      "valution len:1166\n",
      "valution len:1167\n",
      "valution len:1168\n",
      "valution len:1169\n",
      "valution len:1170\n",
      "valution len:1171\n",
      "valution len:1172\n",
      "valution len:1173\n",
      "valution len:1174\n",
      "valution len:1175\n",
      "valution len:1176\n",
      "valution len:1177\n",
      "valution len:1178\n",
      "valution len:1179\n",
      "valution len:1180\n",
      "valution len:1181\n",
      "valution len:1182\n",
      "valution len:1183\n",
      "valution len:1184\n",
      "valution len:1185\n",
      "valution len:1186\n",
      "valution len:1187\n",
      "valution len:1188\n",
      "valution len:1189\n",
      "valution len:1190\n",
      "valution len:1191\n",
      "valution len:1192\n",
      "valution len:1193\n",
      "valution len:1194\n",
      "valution len:1195\n",
      "valution len:1196\n",
      "valution len:1197\n",
      "valution len:1198\n",
      "valution len:1199\n",
      "valution len:1200\n",
      "valution len:1201\n",
      "valution len:1202\n",
      "valution len:1203\n",
      "valution len:1204\n",
      "valution len:1205\n",
      "valution len:1206\n",
      "valution len:1207\n",
      "valution len:1208\n",
      "valution len:1209\n",
      "valution len:1210\n",
      "valution len:1211\n",
      "valution len:1212\n",
      "valution len:1213\n",
      "valution len:1214\n",
      "valution len:1215\n",
      "valution len:1216\n",
      "valution len:1217\n",
      "valution len:1218\n",
      "valution len:1219\n",
      "valution len:1220\n",
      "valution len:1221\n",
      "valution len:1222\n",
      "valution len:1223\n",
      "valution len:1224\n",
      "valution len:1225\n",
      "valution len:1226\n",
      "valution len:1227\n",
      "valution len:1228\n",
      "valution len:1229\n",
      "valution len:1230\n",
      "valution len:1231\n",
      "valution len:1232\n",
      "valution len:1233\n",
      "valution len:1234\n",
      "valution len:1235\n",
      "valution len:1236\n",
      "valution len:1237\n",
      "valution len:1238\n",
      "valution len:1239\n",
      "valution len:1240\n",
      "valution len:1241\n",
      "valution len:1242\n",
      "valution len:1243\n",
      "valution len:1244\n",
      "valution len:1245\n",
      "valution len:1246\n",
      "valution len:1247\n",
      "valution len:1248\n",
      "valution len:1249\n",
      "valution len:1250\n",
      "valution len:1251\n",
      "valution len:1252\n",
      "valution len:1253\n",
      "valution len:1254\n",
      "valution len:1255\n",
      "valution len:1256\n",
      "valution len:1257\n",
      "valution len:1258\n",
      "valution len:1259\n",
      "valution len:1260\n",
      "valution len:1261\n",
      "valution len:1262\n",
      "valution len:1263\n",
      "valution len:1264\n",
      "valution len:1265\n",
      "valution len:1266\n",
      "valution len:1267\n",
      "valution len:1268\n",
      "valution len:1269\n",
      "valution len:1270\n",
      "valution len:1271\n",
      "valution len:1272\n",
      "valution len:1273\n",
      "valution len:1274\n",
      "valution len:1275\n",
      "valution len:1276\n",
      "valution len:1277\n",
      "valution len:1278\n",
      "valution len:1279\n",
      "valution len:1280\n",
      "valution len:1281\n",
      "valution len:1282\n",
      "valution len:1283\n",
      "valution len:1284\n",
      "valution len:1285\n",
      "valution len:1286\n",
      "valution len:1287\n",
      "valution len:1288\n",
      "valution len:1289\n",
      "valution len:1290\n",
      "valution len:1291\n",
      "valution len:1292\n",
      "valution len:1293\n",
      "valution len:1294\n",
      "valution len:1295\n",
      "valution len:1296\n",
      "valution len:1297\n",
      "valution len:1298\n",
      "valution len:1299\n",
      "valution len:1300\n",
      "valution len:1301\n",
      "valution len:1302\n",
      "valution len:1303\n",
      "valution len:1304\n",
      "valution len:1305\n",
      "valution len:1306\n",
      "valution len:1307\n",
      "valution len:1308\n",
      "valution len:1309\n",
      "valution len:1310\n",
      "valution len:1311\n",
      "valution len:1312\n",
      "valution len:1313\n",
      "valution len:1314\n",
      "valution len:1315\n",
      "valution len:1316\n",
      "valution len:1317\n",
      "valution len:1318\n",
      "valution len:1319\n",
      "valution len:1320\n",
      "valution len:1321\n",
      "valution len:1322\n",
      "valution len:1323\n",
      "valution len:1324\n",
      "valution len:1325\n",
      "valution len:1326\n",
      "valution len:1327\n",
      "valution len:1328\n",
      "valution len:1329\n",
      "valution len:1330\n",
      "valution len:1331\n",
      "valution len:1332\n",
      "valution len:1333\n",
      "valution len:1334\n",
      "valution len:1335\n",
      "valution len:1336\n",
      "valution len:1337\n",
      "valution len:1338\n",
      "valution len:1339\n",
      "valution len:1340\n",
      "valution len:1341\n",
      "valution len:1342\n",
      "valution len:1343\n",
      "valution len:1344\n",
      "valution len:1345\n",
      "valution len:1346\n",
      "valution len:1347\n",
      "valution len:1348\n",
      "valution len:1349\n",
      "valution len:1350\n",
      "valution len:1351\n",
      "valution len:1352\n",
      "valution len:1353\n",
      "valution len:1354\n",
      "valution len:1355\n",
      "valution len:1356\n",
      "valution len:1357\n",
      "valution len:1358\n",
      "valution len:1359\n",
      "valution len:1360\n",
      "valution len:1361\n",
      "valution len:1362\n",
      "valution len:1363\n",
      "valution len:1364\n",
      "valution len:1365\n",
      "valution len:1366\n",
      "valution len:1367\n",
      "valution len:1368\n",
      "valution len:1369\n",
      "valution len:1370\n",
      "valution len:1371\n",
      "valution len:1372\n",
      "valution len:1373\n",
      "valution len:1374\n",
      "valution len:1375\n",
      "valution len:1376\n",
      "valution len:1377\n",
      "valution len:1378\n",
      "valution len:1379\n",
      "valution len:1380\n",
      "valution len:1381\n",
      "valution len:1382\n",
      "valution len:1383\n",
      "valution len:1384\n",
      "valution len:1385\n",
      "valution len:1386\n",
      "valution len:1387\n",
      "valution len:1388\n",
      "valution len:1389\n",
      "valution len:1390\n",
      "valution len:1391\n",
      "valution len:1392\n",
      "valution len:1393\n",
      "valution len:1394\n",
      "valution len:1395\n",
      "valution len:1396\n",
      "valution len:1397\n",
      "valution len:1398\n",
      "valution len:1399\n",
      "valution len:1400\n",
      "valution len:1401\n",
      "valution len:1402\n",
      "valution len:1403\n",
      "valution len:1404\n",
      "valution len:1405\n",
      "valution len:1406\n",
      "valution len:1407\n",
      "valution len:1408\n",
      "valution len:1409\n",
      "valution len:1410\n",
      "valution len:1411\n",
      "valution len:1412\n",
      "valution len:1413\n",
      "valution len:1414\n",
      "valution len:1415\n",
      "valution len:1416\n",
      "valution len:1417\n",
      "valution len:1418\n",
      "valution len:1419\n",
      "valution len:1420\n",
      "valution len:1421\n",
      "valution len:1422\n",
      "valution len:1423\n",
      "valution len:1424\n",
      "valution len:1425\n",
      "valution len:1426\n",
      "valution len:1427\n",
      "valution len:1428\n",
      "valution len:1429\n",
      "valution len:1430\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "valution len:1431\n",
      "valution len:1432\n",
      "valution len:1433\n",
      "valution len:1434\n",
      "valution len:1435\n",
      "valution len:1436\n",
      "valution len:1437\n",
      "valution len:1438\n",
      "valution len:1439\n",
      "valution len:1440\n",
      "valution len:1441\n",
      "valution len:1442\n",
      "valution len:1443\n",
      "valution len:1444\n",
      "valution len:1445\n",
      "valution len:1446\n",
      "valution len:1447\n",
      "valution len:1448\n",
      "valution len:1449\n",
      "valution len:1450\n",
      "valution len:1451\n",
      "valution len:1452\n",
      "valution len:1453\n",
      "valution len:1454\n",
      "valution len:1455\n",
      "valution len:1456\n",
      "valution len:1457\n",
      "valution len:1458\n",
      "valution len:1459\n",
      "valution len:1460\n",
      "valution len:1461\n",
      "valution len:1462\n",
      "valution len:1463\n",
      "valution len:1464\n",
      "valution len:1465\n",
      "valution len:1466\n",
      "valution len:1467\n",
      "valution len:1468\n",
      "valution len:1469\n",
      "valution len:1470\n",
      "valution len:1471\n",
      "valution len:1472\n",
      "valution len:1473\n",
      "valution len:1474\n",
      "valution len:1475\n",
      "valution len:1476\n",
      "valution len:1477\n",
      "valution len:1478\n",
      "valution len:1479\n",
      "valution len:1480\n",
      "valution len:1481\n",
      "valution len:1482\n",
      "valution len:1483\n",
      "valution len:1484\n",
      "valution len:1485\n",
      "valution len:1486\n",
      "valution len:1487\n",
      "valution len:1488\n",
      "valution len:1489\n",
      "valution len:1490\n",
      "valution len:1491\n",
      "valution len:1492\n",
      "valution len:1493\n",
      "valution len:1494\n",
      "valution len:1495\n",
      "valution len:1496\n",
      "valution len:1497\n",
      "valution len:1498\n",
      "valution len:1499\n",
      "valution len:1500\n",
      "valution len:1501\n",
      "valution len:1502\n",
      "valution len:1503\n",
      "valution len:1504\n",
      "valution len:1505\n",
      "valution len:1506\n",
      "valution len:1507\n",
      "valution len:1508\n",
      "valution len:1509\n",
      "valution len:1510\n",
      "valution len:1511\n",
      "valution len:1512\n",
      "valution len:1513\n",
      "valution len:1514\n",
      "valution len:1515\n",
      "valution len:1516\n",
      "valution len:1517\n",
      "valution len:1518\n",
      "valution len:1519\n",
      "valution len:1520\n",
      "valution len:1521\n",
      "valution len:1522\n",
      "valution len:1523\n",
      "valution len:1524\n",
      "valution len:1525\n",
      "valution len:1526\n",
      "valution len:1527\n",
      "valution len:1528\n",
      "valution len:1529\n",
      "valution len:1530\n",
      "valution len:1531\n",
      "valution len:1532\n",
      "valution len:1533\n",
      "valution len:1534\n",
      "valution len:1535\n",
      "valution len:1536\n",
      "valution len:1537\n",
      "valution len:1538\n",
      "valution len:1539\n",
      "valution len:1540\n",
      "valution len:1541\n",
      "valution len:1542\n",
      "valution len:1543\n",
      "valution len:1544\n",
      "valution len:1545\n",
      "valution len:1546\n",
      "valution len:1547\n",
      "valution len:1548\n",
      "valution len:1549\n",
      "valution len:1550\n",
      "valution len:1551\n",
      "valution len:1552\n",
      "valution len:1553\n",
      "valution len:1554\n",
      "valution len:1555\n",
      "valution len:1556\n",
      "valution len:1557\n",
      "valution len:1558\n",
      "valution len:1559\n",
      "valution len:1560\n",
      "valution len:1561\n",
      "valution len:1562\n",
      "valution len:1563\n",
      "valution len:1564\n",
      "valution len:1565\n",
      "valution len:1566\n",
      "valution len:1567\n",
      "valution len:1568\n",
      "valution len:1569\n",
      "valution len:1570\n",
      "valution len:1571\n",
      "valution len:1572\n",
      "valution len:1573\n",
      "valution len:1574\n",
      "valution len:1575\n",
      "valution len:1576\n",
      "valution len:1577\n",
      "valution len:1578\n",
      "valution len:1579\n",
      "valution len:1580\n",
      "valution len:1581\n",
      "valution len:1582\n",
      "valution len:1583\n",
      "valution len:1584\n",
      "valution len:1585\n",
      "valution len:1586\n",
      "valution len:1587\n",
      "valution len:1588\n",
      "valution len:1589\n",
      "valution len:1590\n",
      "valution len:1591\n",
      "valution len:1592\n",
      "valution len:1593\n",
      "valution len:1594\n",
      "valution len:1595\n",
      "valution len:1596\n",
      "valution len:1597\n",
      "valution len:1598\n",
      "valution len:1599\n",
      "valution len:1600\n",
      "valution len:1601\n",
      "valution len:1602\n",
      "valution len:1603\n",
      "valution len:1604\n",
      "valution len:1605\n",
      "valution len:1606\n",
      "valution len:1607\n",
      "valution len:1608\n",
      "valution len:1609\n",
      "valution len:1610\n",
      "valution len:1611\n",
      "valution len:1612\n",
      "valution len:1613\n",
      "valution len:1614\n",
      "valution len:1615\n",
      "valution len:1616\n",
      "valution len:1617\n",
      "valution len:1618\n",
      "valution len:1619\n",
      "valution len:1620\n",
      "valution len:1621\n",
      "valution len:1622\n",
      "valution len:1623\n",
      "valution len:1624\n",
      "valution len:1625\n",
      "valution len:1626\n",
      "valution len:1627\n",
      "valution len:1628\n",
      "valution len:1629\n",
      "valution len:1630\n",
      "valution len:1631\n",
      "valution len:1632\n",
      "valution len:1633\n",
      "valution len:1634\n",
      "valution len:1635\n",
      "valution len:1636\n",
      "valution len:1637\n",
      "valution len:1638\n",
      "valution len:1639\n",
      "valution len:1640\n",
      "valution len:1641\n",
      "valution len:1642\n",
      "valution len:1643\n",
      "valution len:1644\n",
      "valution len:1645\n",
      "valution len:1646\n",
      "valution len:1647\n",
      "valution len:1648\n",
      "valution len:1649\n",
      "valution len:1650\n",
      "valution len:1651\n",
      "valution len:1652\n",
      "valution len:1653\n",
      "valution len:1654\n",
      "valution len:1655\n",
      "valution len:1656\n",
      "valution len:1657\n",
      "valution len:1658\n",
      "valution len:1659\n",
      "valution len:1660\n",
      "valution len:1661\n",
      "valution len:1662\n",
      "valution len:1663\n",
      "valution len:1664\n",
      "valution len:1665\n",
      "valution len:1666\n",
      "valution len:1667\n",
      "valution len:1668\n",
      "valution len:1669\n",
      "valution len:1670\n",
      "valution len:1671\n",
      "valution len:1672\n",
      "valution len:1673\n",
      "valution len:1674\n",
      "valution len:1675\n",
      "valution len:1676\n",
      "valution len:1677\n",
      "valution len:1678\n",
      "valution len:1679\n",
      "valution len:1680\n",
      "valution len:1681\n",
      "valution len:1682\n",
      "valution len:1683\n",
      "valution len:1684\n",
      "valution len:1685\n",
      "valution len:1686\n",
      "valution len:1687\n",
      "valution len:1688\n",
      "valution len:1689\n",
      "valution len:1690\n",
      "valution len:1691\n",
      "valution len:1692\n",
      "valution len:1693\n",
      "valution len:1694\n",
      "valution len:1695\n",
      "valution len:1696\n",
      "valution len:1697\n",
      "valution len:1698\n",
      "valution len:1699\n",
      "valution len:1700\n",
      "valution len:1701\n",
      "valution len:1702\n",
      "valution len:1703\n",
      "valution len:1704\n",
      "valution len:1705\n",
      "valution len:1706\n",
      "valution len:1707\n",
      "valution len:1708\n",
      "valution len:1709\n",
      "valution len:1710\n",
      "valution len:1711\n",
      "valution len:1712\n",
      "valution len:1713\n",
      "valution len:1714\n",
      "valution len:1715\n",
      "valution len:1716\n",
      "valution len:1717\n",
      "valution len:1718\n",
      "valution len:1719\n",
      "valution len:1720\n",
      "valution len:1721\n",
      "valution len:1722\n",
      "valution len:1723\n",
      "valution len:1724\n",
      "valution len:1725\n",
      "valution len:1726\n",
      "valution len:1727\n",
      "valution len:1728\n",
      "valution len:1729\n",
      "valution len:1730\n",
      "valution len:1731\n",
      "valution len:1732\n",
      "valution len:1733\n",
      "valution len:1734\n",
      "valution len:1735\n",
      "valution len:1736\n",
      "valution len:1737\n",
      "valution len:1738\n",
      "valution len:1739\n",
      "valution len:1740\n",
      "valution len:1741\n",
      "valution len:1742\n",
      "valution len:1743\n",
      "valution len:1744\n",
      "valution len:1745\n",
      "valution len:1746\n",
      "valution len:1747\n",
      "valution len:1748\n",
      "valution len:1749\n",
      "valution len:1750\n",
      "valution len:1751\n",
      "valution len:1752\n",
      "valution len:1753\n",
      "valution len:1754\n",
      "valution len:1755\n",
      "valution len:1756\n",
      "valution len:1757\n",
      "valution len:1758\n",
      "valution len:1759\n",
      "valution len:1760\n",
      "valution len:1761\n",
      "valution len:1762\n",
      "valution len:1763\n",
      "valution len:1764\n",
      "valution len:1765\n",
      "valution len:1766\n",
      "valution len:1767\n",
      "valution len:1768\n",
      "valution len:1769\n",
      "valution len:1770\n",
      "valution len:1771\n",
      "valution len:1772\n",
      "valution len:1773\n",
      "valution len:1774\n",
      "valution len:1775\n",
      "valution len:1776\n",
      "valution len:1777\n",
      "valution len:1778\n",
      "valution len:1779\n",
      "valution len:1780\n",
      "valution len:1781\n",
      "valution len:1782\n",
      "valution len:1783\n",
      "valution len:1784\n",
      "valution len:1785\n",
      "valution len:1786\n",
      "valution len:1787\n",
      "valution len:1788\n",
      "valution len:1789\n",
      "valution len:1790\n",
      "valution len:1791\n",
      "valution len:1792\n",
      "valution len:1793\n",
      "valution len:1794\n",
      "valution len:1795\n",
      "valution len:1796\n",
      "valution len:1797\n",
      "valution len:1798\n",
      "valution len:1799\n",
      "valution len:1800\n",
      "valution len:1801\n",
      "valution len:1802\n",
      "valution len:1803\n",
      "valution len:1804\n",
      "valution len:1805\n",
      "valution len:1806\n",
      "valution len:1807\n",
      "valution len:1808\n",
      "valution len:1809\n",
      "valution len:1810\n",
      "valution len:1811\n",
      "valution len:1812\n",
      "valution len:1813\n",
      "valution len:1814\n",
      "valution len:1815\n",
      "valution len:1816\n",
      "valution len:1817\n",
      "valution len:1818\n",
      "valution len:1819\n",
      "valution len:1820\n",
      "valution len:1821\n",
      "valution len:1822\n",
      "valution len:1823\n",
      "valution len:1824\n",
      "valution len:1825\n",
      "valution len:1826\n",
      "valution len:1827\n",
      "valution len:1828\n",
      "valution len:1829\n",
      "valution len:1830\n",
      "valution len:1831\n",
      "valution len:1832\n",
      "valution len:1833\n",
      "valution len:1834\n",
      "valution len:1835\n",
      "valution len:1836\n",
      "valution len:1837\n",
      "valution len:1838\n",
      "valution len:1839\n",
      "valution len:1840\n",
      "valution len:1841\n",
      "valution len:1842\n",
      "valution len:1843\n",
      "valution len:1844\n",
      "valution len:1845\n",
      "valution len:1846\n",
      "valution len:1847\n",
      "valution len:1848\n",
      "valution len:1849\n",
      "valution len:1850\n",
      "valution len:1851\n",
      "valution len:1852\n",
      "valution len:1853\n",
      "valution len:1854\n",
      "valution len:1855\n",
      "valution len:1856\n",
      "valution len:1857\n",
      "valution len:1858\n",
      "valution len:1859\n",
      "valution len:1860\n",
      "valution len:1861\n",
      "valution len:1862\n",
      "valution len:1863\n",
      "valution len:1864\n",
      "valution len:1865\n",
      "valution len:1866\n",
      "valution len:1867\n",
      "valution len:1868\n",
      "valution len:1869\n",
      "valution len:1870\n",
      "valution len:1871\n",
      "valution len:1872\n",
      "valution len:1873\n",
      "valution len:1874\n",
      "valution len:1875\n",
      "valution len:1876\n",
      "valution len:1877\n",
      "valution len:1878\n",
      "valution len:1879\n",
      "valution len:1880\n",
      "valution len:1881\n",
      "valution len:1882\n",
      "valution len:1883\n",
      "valution len:1884\n",
      "valution len:1885\n",
      "valution len:1886\n",
      "valution len:1887\n",
      "valution len:1888\n",
      "valution len:1889\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "valution len:1890\n",
      "valution len:1891\n",
      "valution len:1892\n",
      "valution len:1893\n",
      "valution len:1894\n",
      "valution len:1895\n",
      "valution len:1896\n",
      "valution len:1897\n",
      "valution len:1898\n",
      "valution len:1899\n",
      "valution len:1900\n",
      "valution len:1901\n",
      "valution len:1902\n",
      "valution len:1903\n",
      "valution len:1904\n",
      "valution len:1905\n",
      "valution len:1906\n",
      "valution len:1907\n",
      "valution len:1908\n",
      "valution len:1909\n",
      "valution len:1910\n",
      "valution len:1911\n",
      "valution len:1912\n",
      "valution len:1913\n",
      "valution len:1914\n",
      "valution len:1915\n",
      "valution len:1916\n",
      "valution len:1917\n",
      "valution len:1918\n",
      "valution len:1919\n",
      "valution len:1920\n",
      "valution len:1921\n",
      "valution len:1922\n",
      "valution len:1923\n",
      "valution len:1924\n",
      "valution len:1925\n",
      "valution len:1926\n",
      "valution len:1927\n",
      "valution len:1928\n",
      "valution len:1929\n",
      "valution len:1930\n",
      "valution len:1931\n",
      "valution len:1932\n",
      "valution len:1933\n",
      "valution len:1934\n",
      "valution len:1935\n",
      "valution len:1936\n",
      "valution len:1937\n",
      "valution len:1938\n",
      "valution len:1939\n",
      "valution len:1940\n",
      "valution len:1941\n",
      "valution len:1942\n",
      "valution len:1943\n",
      "valution len:1944\n",
      "valution len:1945\n",
      "valution len:1946\n",
      "valution len:1947\n",
      "valution len:1948\n",
      "valution len:1949\n",
      "valution len:1950\n",
      "valution len:1951\n",
      "valution len:1952\n",
      "valution len:1953\n",
      "valution len:1954\n",
      "valution len:1955\n",
      "valution len:1956\n",
      "valution len:1957\n",
      "valution len:1958\n",
      "valution len:1959\n",
      "valution len:1960\n",
      "valution len:1961\n",
      "valution len:1962\n",
      "valution len:1963\n",
      "valution len:1964\n",
      "valution len:1965\n",
      "valution len:1966\n",
      "valution len:1967\n",
      "valution len:1968\n",
      "valution len:1969\n",
      "valution len:1970\n",
      "valution len:1971\n",
      "valution len:1972\n",
      "valution len:1973\n",
      "valution len:1974\n",
      "valution len:1975\n",
      "valution len:1976\n",
      "valution len:1977\n",
      "valution len:1978\n",
      "valution len:1979\n",
      "valution len:1980\n",
      "valution len:1981\n",
      "valution len:1982\n",
      "valution len:1983\n",
      "valution len:1984\n",
      "valution len:1985\n",
      "valution len:1986\n",
      "valution len:1987\n",
      "valution len:1988\n",
      "valution len:1989\n",
      "valution len:1990\n",
      "valution len:1991\n",
      "valution len:1992\n",
      "valution len:1993\n",
      "valution len:1994\n",
      "valution len:1995\n",
      "valution len:1996\n",
      "valution len:1997\n",
      "valution len:1998\n",
      "valution len:1999\n",
      "valution len:2000\n",
      "valution len:2001\n",
      "valution len:2002\n",
      "valution len:2003\n",
      "valution len:2004\n",
      "valution len:2005\n",
      "valution len:2006\n",
      "valution len:2007\n",
      "valution len:2008\n",
      "valution len:2009\n",
      "valution len:2010\n",
      "valution len:2011\n",
      "valution len:2012\n",
      "valution len:2013\n",
      "valution len:2014\n",
      "valution len:2015\n",
      "valution len:2016\n",
      "valution len:2017\n",
      "valution len:2018\n",
      "valution len:2019\n",
      "valution len:2020\n",
      "valution len:2021\n",
      "valution len:2022\n",
      "valution len:2023\n",
      "valution len:2024\n",
      "valution len:2025\n",
      "valution len:2026\n",
      "valution len:2027\n",
      "valution len:2028\n",
      "valution len:2029\n",
      "valution len:2030\n",
      "valution len:2031\n",
      "valution len:2032\n",
      "valution len:2033\n",
      "valution len:2034\n",
      "valution len:2035\n",
      "valution len:2036\n",
      "valution len:2037\n",
      "valution len:2038\n",
      "valution len:2039\n",
      "valution len:2040\n",
      "valution len:2041\n",
      "valution len:2042\n",
      "valution len:2043\n",
      "valution len:2044\n",
      "valution len:2045\n",
      "valution len:2046\n",
      "valution len:2047\n",
      "valution len:2048\n",
      "valution len:2049\n",
      "valution len:2050\n",
      "valution len:2051\n",
      "valution len:2052\n",
      "valution len:2053\n",
      "valution len:2054\n",
      "valution len:2055\n",
      "valution len:2056\n",
      "valution len:2057\n",
      "valution len:2058\n",
      "valution len:2059\n",
      "valution len:2060\n",
      "valution len:2061\n",
      "valution len:2062\n",
      "valution len:2063\n",
      "valution len:2064\n",
      "valution len:2065\n",
      "valution len:2066\n",
      "valution len:2067\n",
      "valution len:2068\n",
      "valution len:2069\n",
      "valution len:2070\n",
      "valution len:2071\n",
      "valution len:2072\n",
      "valution len:2073\n",
      "valution len:2074\n",
      "valution len:2075\n",
      "valution len:2076\n",
      "valution len:2077\n",
      "valution len:2078\n",
      "valution len:2079\n",
      "valution len:2080\n",
      "valution len:2081\n",
      "valution len:2082\n",
      "valution len:2083\n",
      "valution len:2084\n",
      "valution len:2085\n",
      "valution len:2086\n",
      "valution len:2087\n",
      "valution len:2088\n",
      "valution len:2089\n",
      "valution len:2090\n",
      "valution len:2091\n",
      "valution len:2092\n",
      "valution len:2093\n",
      "valution len:2094\n",
      "valution len:2095\n",
      "valution len:2096\n",
      "valution len:2097\n",
      "valution len:2098\n",
      "valution len:2099\n",
      "valution len:2100\n",
      "valution len:2101\n",
      "valution len:2102\n",
      "valution len:2103\n",
      "valution len:2104\n",
      "valution len:2105\n",
      "valution len:2106\n",
      "valution len:2107\n",
      "valution len:2108\n",
      "valution len:2109\n",
      "valution len:2110\n",
      "valution len:2111\n",
      "valution len:2112\n",
      "valution len:2113\n",
      "valution len:2114\n",
      "valution len:2115\n",
      "valution len:2116\n",
      "valution len:2117\n",
      "valution len:2118\n",
      "valution len:2119\n",
      "valution len:2120\n",
      "valution len:2121\n",
      "valution len:2122\n",
      "valution len:2123\n",
      "valution len:2124\n",
      "valution len:2125\n",
      "valution len:2126\n",
      "valution len:2127\n",
      "valution len:2128\n",
      "valution len:2129\n",
      "valution len:2130\n",
      "valution len:2131\n",
      "valution len:2132\n",
      "valution len:2133\n",
      "valution len:2134\n",
      "valution len:2135\n",
      "valution len:2136\n",
      "valution len:2137\n",
      "valution len:2138\n",
      "valution len:2139\n",
      "valution len:2140\n",
      "valution len:2141\n",
      "valution len:2142\n",
      "valution len:2143\n",
      "valution len:2144\n",
      "valution len:2145\n",
      "valution len:2146\n",
      "valution len:2147\n",
      "valution len:2148\n",
      "valution len:2149\n",
      "valution len:2150\n",
      "valution len:2151\n",
      "valution len:2152\n",
      "valution len:2153\n",
      "valution len:2154\n",
      "valution len:2155\n",
      "valution len:2156\n",
      "valution len:2157\n",
      "valution len:2158\n",
      "valution len:2159\n",
      "valution len:2160\n",
      "valution len:2161\n",
      "valution len:2162\n",
      "valution len:2163\n",
      "valution len:2164\n",
      "valution len:2165\n",
      "valution len:2166\n",
      "valution len:2167\n",
      "valution len:2168\n",
      "valution len:2169\n",
      "valution len:2170\n",
      "valution len:2171\n",
      "valution len:2172\n",
      "valution len:2173\n",
      "valution len:2174\n",
      "valution len:2175\n",
      "valution len:2176\n",
      "valution len:2177\n",
      "valution len:2178\n",
      "valution len:2179\n",
      "valution len:2180\n",
      "valution len:2181\n",
      "valution len:2182\n",
      "valution len:2183\n",
      "valution len:2184\n",
      "valution len:2185\n",
      "valution len:2186\n",
      "valution len:2187\n",
      "valution len:2188\n",
      "valution len:2189\n",
      "valution len:2190\n",
      "valution len:2191\n",
      "valution len:2192\n",
      "valution len:2193\n",
      "valution len:2194\n",
      "valution len:2195\n",
      "valution len:2196\n",
      "valution len:2197\n",
      "valution len:2198\n",
      "valution len:2199\n",
      "valution len:2200\n",
      "valution len:2201\n",
      "valution len:2202\n",
      "valution len:2203\n",
      "valution len:2204\n",
      "valution len:2205\n",
      "valution len:2206\n",
      "valution len:2207\n",
      "valution len:2208\n",
      "valution len:2209\n",
      "valution len:2210\n",
      "valution len:2211\n",
      "valution len:2212\n",
      "valution len:2213\n",
      "valution len:2214\n",
      "valution len:2215\n",
      "valution len:2216\n",
      "valution len:2217\n",
      "valution len:2218\n",
      "valution len:2219\n",
      "valution len:2220\n",
      "valution len:2221\n",
      "valution len:2222\n",
      "valution len:2223\n",
      "valution len:2224\n",
      "valution len:2225\n",
      "valution len:2226\n",
      "valution len:2227\n",
      "valution len:2228\n",
      "valution len:2229\n",
      "valution len:2230\n",
      "valution len:2231\n",
      "valution len:2232\n",
      "valution len:2233\n",
      "valution len:2234\n",
      "valution len:2235\n",
      "valution len:2236\n",
      "valution len:2237\n",
      "valution len:2238\n",
      "valution len:2239\n",
      "valution len:2240\n",
      "valution len:2241\n",
      "valution len:2242\n",
      "valution len:2243\n",
      "valution len:2244\n",
      "valution len:2245\n",
      "valution len:2246\n",
      "valution len:2247\n",
      "valution len:2248\n",
      "valution len:2249\n",
      "valution len:2250\n",
      "valution len:2251\n",
      "valution len:2252\n",
      "valution len:2253\n",
      "valution len:2254\n",
      "valution len:2255\n",
      "valution len:2256\n",
      "valution len:2257\n",
      "valution len:2258\n",
      "valution len:2259\n",
      "valution len:2260\n",
      "valution len:2261\n",
      "valution len:2262\n",
      "valution len:2263\n",
      "valution len:2264\n",
      "valution len:2265\n",
      "valution len:2266\n",
      "valution len:2267\n",
      "valution len:2268\n",
      "valution len:2269\n",
      "valution len:2270\n",
      "valution len:2271\n",
      "valution len:2272\n",
      "valution len:2273\n",
      "valution len:2274\n",
      "valution len:2275\n",
      "valution len:2276\n",
      "valution len:2277\n",
      "valution len:2278\n",
      "valution len:2279\n",
      "valution len:2280\n",
      "valution len:2281\n",
      "valution len:2282\n",
      "valution len:2283\n",
      "valution len:2284\n",
      "valution len:2285\n",
      "valution len:2286\n",
      "valution len:2287\n",
      "valution len:2288\n",
      "valution len:2289\n",
      "valution len:2290\n",
      "valution len:2291\n",
      "valution len:2292\n",
      "valution len:2293\n",
      "valution len:2294\n",
      "valution len:2295\n",
      "valution len:2296\n",
      "valution len:2297\n",
      "valution len:2298\n",
      "valution len:2299\n",
      "valution len:2300\n",
      "valution len:2301\n",
      "valution len:2302\n",
      "valution len:2303\n",
      "valution len:2304\n",
      "valution len:2305\n",
      "valution len:2306\n",
      "valution len:2307\n",
      "valution len:2308\n",
      "valution len:2309\n",
      "valution len:2310\n",
      "valution len:2311\n",
      "valution len:2312\n",
      "valution len:2313\n",
      "valution len:2314\n",
      "valution len:2315\n",
      "valution len:2316\n",
      "valution len:2317\n",
      "valution len:2318\n",
      "valution len:2319\n",
      "valution len:2320\n",
      "valution len:2321\n",
      "valution len:2322\n",
      "valution len:2323\n",
      "valution len:2324\n",
      "valution len:2325\n",
      "valution len:2326\n",
      "valution len:2327\n",
      "valution len:2328\n",
      "valution len:2329\n",
      "valution len:2330\n",
      "valution len:2331\n",
      "valution len:2332\n",
      "valution len:2333\n",
      "valution len:2334\n",
      "valution len:2335\n",
      "valution len:2336\n",
      "valution len:2337\n",
      "valution len:2338\n",
      "valution len:2339\n",
      "valution len:2340\n",
      "valution len:2341\n",
      "valution len:2342\n",
      "valution len:2343\n",
      "valution len:2344\n",
      "valution len:2345\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "valution len:2346\n",
      "valution len:2347\n",
      "valution len:2348\n",
      "valution len:2349\n",
      "valution len:2350\n",
      "valution len:2351\n",
      "valution len:2352\n",
      "valution len:2353\n",
      "valution len:2354\n",
      "valution len:2355\n",
      "valution len:2356\n",
      "valution len:2357\n",
      "valution len:2358\n",
      "valution len:2359\n",
      "valution len:2360\n",
      "valution len:2361\n",
      "valution len:2362\n",
      "valution len:2363\n",
      "valution len:2364\n",
      "valution len:2365\n",
      "valution len:2366\n",
      "valution len:2367\n",
      "valution len:2368\n",
      "valution len:2369\n",
      "valution len:2370\n",
      "valution len:2371\n",
      "valution len:2372\n",
      "valution len:2373\n",
      "valution len:2374\n",
      "valution len:2375\n",
      "valution len:2376\n",
      "valution len:2377\n",
      "valution len:2378\n",
      "valution len:2379\n",
      "valution len:2380\n",
      "valution len:2381\n",
      "valution len:2382\n",
      "valution len:2383\n",
      "valution len:2384\n",
      "valution len:2385\n",
      "valution len:2386\n",
      "valution len:2387\n",
      "valution len:2388\n",
      "valution len:2389\n",
      "valution len:2390\n",
      "valution len:2391\n",
      "valution len:2392\n",
      "valution len:2393\n",
      "valution len:2394\n",
      "valution len:2395\n",
      "valution len:2396\n",
      "valution len:2397\n",
      "valution len:2398\n",
      "valution len:2399\n",
      "valution len:2400\n",
      "valution len:2401\n",
      "valution len:2402\n",
      "valution len:2403\n",
      "valution len:2404\n",
      "valution len:2405\n",
      "valution len:2406\n",
      "valution len:2407\n",
      "valution len:2408\n",
      "valution len:2409\n",
      "valution len:2410\n",
      "valution len:2411\n",
      "valution len:2412\n",
      "valution len:2413\n",
      "valution len:2414\n",
      "valution len:2415\n",
      "valution len:2416\n",
      "valution len:2417\n",
      "valution len:2418\n",
      "valution len:2419\n",
      "valution len:2420\n",
      "valution len:2421\n",
      "valution len:2422\n",
      "valution len:2423\n",
      "valution len:2424\n",
      "valution len:2425\n",
      "valution len:2426\n",
      "valution len:2427\n",
      "valution len:2428\n",
      "valution len:2429\n",
      "valution len:2430\n",
      "valution len:2431\n",
      "valution len:2432\n",
      "valution len:2433\n",
      "valution len:2434\n",
      "valution len:2435\n",
      "valution len:2436\n",
      "valution len:2437\n",
      "valution len:2438\n",
      "valution len:2439\n",
      "valution len:2440\n",
      "valution len:2441\n",
      "valution len:2442\n",
      "valution len:2443\n",
      "valution len:2444\n",
      "valution len:2445\n",
      "valution len:2446\n",
      "valution len:2447\n",
      "valution len:2448\n",
      "valution len:2449\n",
      "valution len:2450\n",
      "valution len:2451\n",
      "valution len:2452\n",
      "valution len:2453\n",
      "valution len:2454\n",
      "valution len:2455\n",
      "valution len:2456\n",
      "valution len:2457\n",
      "valution len:2458\n",
      "valution len:2459\n",
      "valution len:2460\n",
      "valution len:2461\n",
      "valution len:2462\n",
      "valution len:2463\n",
      "valution len:2464\n",
      "valution len:2465\n",
      "valution len:2466\n",
      "valution len:2467\n",
      "valution len:2468\n",
      "valution len:2469\n",
      "valution len:2470\n",
      "valution len:2471\n",
      "valution len:2472\n",
      "valution len:2473\n",
      "valution len:2474\n",
      "valution len:2475\n",
      "valution len:2476\n",
      "valution len:2477\n",
      "valution len:2478\n",
      "valution len:2479\n",
      "valution len:2480\n",
      "valution len:2481\n",
      "valution len:2482\n",
      "valution len:2483\n",
      "valution len:2484\n",
      "valution len:2485\n",
      "valution len:2486\n",
      "valution len:2487\n",
      "valution len:2488\n",
      "valution len:2489\n",
      "valution len:2490\n",
      "valution len:2491\n",
      "valution len:2492\n",
      "valution len:2493\n",
      "valution len:2494\n",
      "valution len:2495\n",
      "valution len:2496\n",
      "valution len:2497\n",
      "valution len:2498\n",
      "valution len:2499\n",
      "valution len:2500\n",
      "valution len:2501\n",
      "valution len:2502\n",
      "valution len:2503\n",
      "valution len:2504\n",
      "valution len:2505\n",
      "valution len:2506\n",
      "valution len:2507\n",
      "valution len:2508\n",
      "valution len:2509\n",
      "valution len:2510\n",
      "valution len:2511\n",
      "valution len:2512\n",
      "valution len:2513\n",
      "valution len:2514\n",
      "valution len:2515\n",
      "valution len:2516\n",
      "valution len:2517\n",
      "valution len:2518\n",
      "valution len:2519\n",
      "valution len:2520\n",
      "valution len:2521\n",
      "valution len:2522\n",
      "valution len:2523\n",
      "valution len:2524\n",
      "valution len:2525\n",
      "valution len:2526\n",
      "valution len:2527\n",
      "valution len:2528\n",
      "valution len:2529\n",
      "valution len:2530\n",
      "valution len:2531\n",
      "valution len:2532\n",
      "valution len:2533\n",
      "valution len:2534\n",
      "valution len:2535\n",
      "valution len:2536\n",
      "valution len:2537\n",
      "valution len:2538\n",
      "valution len:2539\n",
      "valution len:2540\n",
      "valution len:2541\n",
      "valution len:2542\n",
      "valution len:2543\n",
      "valution len:2544\n",
      "valution len:2545\n",
      "valution len:2546\n",
      "valution len:2547\n",
      "valution len:2548\n",
      "valution len:2549\n",
      "valution len:2550\n",
      "valution len:2551\n",
      "valution len:2552\n",
      "valution len:2553\n",
      "valution len:2554\n",
      "valution len:2555\n",
      "valution len:2556\n",
      "valution len:2557\n",
      "valution len:2558\n",
      "valution len:2559\n",
      "valution len:2560\n",
      "valution len:2561\n",
      "valution len:2562\n",
      "valution len:2563\n",
      "valution len:2564\n",
      "valution len:2565\n",
      "valution len:2566\n",
      "valution len:2567\n",
      "valution len:2568\n",
      "valution len:2569\n",
      "valution len:2570\n",
      "valution len:2571\n",
      "valution len:2572\n",
      "valution len:2573\n",
      "valution len:2574\n",
      "valution len:2575\n",
      "valution len:2576\n",
      "valution len:2577\n",
      "valution len:2578\n",
      "valution len:2579\n",
      "valution len:2580\n",
      "valution len:2581\n",
      "valution len:2582\n",
      "valution len:2583\n",
      "valution len:2584\n",
      "valution len:2585\n",
      "valution len:2586\n",
      "valution len:2587\n",
      "valution len:2588\n",
      "valution len:2589\n",
      "valution len:2590\n",
      "valution len:2591\n",
      "valution len:2592\n",
      "valution len:2593\n",
      "valution len:2594\n",
      "valution len:2595\n",
      "valution len:2596\n",
      "valution len:2597\n",
      "valution len:2598\n",
      "valution len:2599\n",
      "valution len:2600\n",
      "valution len:2601\n",
      "valution len:2602\n",
      "valution len:2603\n",
      "valution len:2604\n",
      "valution len:2605\n",
      "valution len:2606\n",
      "valution len:2607\n",
      "valution len:2608\n",
      "valution len:2609\n",
      "valution len:2610\n",
      "valution len:2611\n",
      "valution len:2612\n",
      "valution len:2613\n",
      "valution len:2614\n",
      "valution len:2615\n",
      "valution len:2616\n",
      "valution len:2617\n",
      "valution len:2618\n",
      "valution len:2619\n",
      "valution len:2620\n",
      "valution len:2621\n",
      "valution len:2622\n",
      "valution len:2623\n",
      "valution len:2624\n",
      "valution len:2625\n",
      "valution len:2626\n",
      "valution len:2627\n",
      "valution len:2628\n",
      "valution len:2629\n",
      "valution len:2630\n",
      "valution len:2631\n",
      "valution len:2632\n",
      "valution len:2633\n",
      "valution len:2634\n",
      "valution len:2635\n",
      "valution len:2636\n",
      "valution len:2637\n",
      "valution len:2638\n",
      "valution len:2639\n",
      "valution len:2640\n",
      "valution len:2641\n",
      "valution len:2642\n",
      "valution len:2643\n",
      "valution len:2644\n",
      "valution len:2645\n",
      "valution len:2646\n",
      "valution len:2647\n",
      "valution len:2648\n",
      "valution len:2649\n",
      "valution len:2650\n",
      "valution len:2651\n",
      "valution len:2652\n",
      "valution len:2653\n",
      "valution len:2654\n",
      "valution len:2655\n",
      "valution len:2656\n",
      "valution len:2657\n",
      "valution len:2658\n",
      "valution len:2659\n",
      "valution len:2660\n",
      "valution len:2661\n",
      "valution len:2662\n",
      "valution len:2663\n",
      "valution len:2664\n",
      "valution len:2665\n",
      "valution len:2666\n",
      "valution len:2667\n",
      "valution len:2668\n",
      "valution len:2669\n",
      "valution len:2670\n",
      "valution len:2671\n",
      "valution len:2672\n",
      "valution len:2673\n",
      "valution len:2674\n",
      "valution len:2675\n",
      "valution len:2676\n",
      "valution len:2677\n",
      "valution len:2678\n",
      "valution len:2679\n",
      "valution len:2680\n",
      "valution len:2681\n",
      "valution len:2682\n",
      "valution len:2683\n",
      "valution len:2684\n",
      "valution len:2685\n",
      "valution len:2686\n",
      "valution len:2687\n",
      "valution len:2688\n",
      "valution len:2689\n",
      "valution len:2690\n",
      "valution len:2691\n",
      "valution len:2692\n",
      "valution len:2693\n",
      "valution len:2694\n",
      "valution len:2695\n",
      "valution len:2696\n",
      "valution len:2697\n",
      "valution len:2698\n",
      "valution len:2699\n",
      "valution len:2700\n",
      "valution len:2701\n",
      "valution len:2702\n",
      "valution len:2703\n",
      "valution len:2704\n",
      "valution len:2705\n",
      "valution len:2706\n",
      "valution len:2707\n",
      "valution len:2708\n",
      "valution len:2709\n",
      "valution len:2710\n",
      "valution len:2711\n",
      "valution len:2712\n",
      "valution len:2713\n",
      "valution len:2714\n",
      "valution len:2715\n",
      "valution len:2716\n",
      "valution len:2717\n",
      "valution len:2718\n",
      "valution len:2719\n",
      "valution len:2720\n",
      "valution len:2721\n",
      "valution len:2722\n",
      "valution len:2723\n",
      "valution len:2724\n",
      "valution len:2725\n",
      "valution len:2726\n",
      "valution len:2727\n",
      "valution len:2728\n",
      "valution len:2729\n",
      "valution len:2730\n",
      "valution len:2731\n",
      "valution len:2732\n",
      "valution len:2733\n",
      "valution len:2734\n",
      "valution len:2735\n",
      "valution len:2736\n",
      "valution len:2737\n",
      "valution len:2738\n",
      "valution len:2739\n",
      "valution len:2740\n",
      "valution len:2741\n",
      "valution len:2742\n",
      "valution len:2743\n",
      "valution len:2744\n",
      "valution len:2745\n",
      "valution len:2746\n",
      "valution len:2747\n",
      "valution len:2748\n",
      "valution len:2749\n",
      "valution len:2750\n",
      "valution len:2751\n",
      "valution len:2752\n",
      "valution len:2753\n",
      "valution len:2754\n",
      "valution len:2755\n",
      "valution len:2756\n",
      "valution len:2757\n",
      "valution len:2758\n",
      "valution len:2759\n",
      "valution len:2760\n",
      "valution len:2761\n",
      "valution len:2762\n",
      "valution len:2763\n",
      "valution len:2764\n",
      "valution len:2765\n",
      "valution len:2766\n",
      "valution len:2767\n",
      "valution len:2768\n",
      "valution len:2769\n",
      "valution len:2770\n",
      "valution len:2771\n",
      "valution len:2772\n",
      "valution len:2773\n",
      "valution len:2774\n",
      "valution len:2775\n",
      "valution len:2776\n",
      "valution len:2777\n",
      "valution len:2778\n",
      "valution len:2779\n",
      "valution len:2780\n",
      "valution len:2781\n",
      "valution len:2782\n",
      "valution len:2783\n",
      "valution len:2784\n",
      "valution len:2785\n",
      "valution len:2786\n",
      "valution len:2787\n",
      "valution len:2788\n",
      "valution len:2789\n",
      "valution len:2790\n",
      "valution len:2791\n",
      "valution len:2792\n",
      "valution len:2793\n",
      "valution len:2794\n",
      "valution len:2795\n",
      "valution len:2796\n",
      "valution len:2797\n",
      "valution len:2798\n",
      "valution len:2799\n",
      "valution len:2800\n",
      "valution len:2801\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "valution len:2802\n",
      "valution len:2803\n",
      "valution len:2804\n",
      "valution len:2805\n",
      "valution len:2806\n",
      "valution len:2807\n",
      "valution len:2808\n",
      "valution len:2809\n",
      "valution len:2810\n",
      "valution len:2811\n",
      "valution len:2812\n",
      "valution len:2813\n",
      "valution len:2814\n",
      "valution len:2815\n",
      "valution len:2816\n",
      "valution len:2817\n",
      "valution len:2818\n",
      "valution len:2819\n",
      "valution len:2820\n",
      "valution len:2821\n",
      "valution len:2822\n",
      "valution len:2823\n",
      "valution len:2824\n",
      "valution len:2825\n",
      "valution len:2826\n",
      "valution len:2827\n",
      "valution len:2828\n",
      "valution len:2829\n",
      "valution len:2830\n",
      "valution len:2831\n",
      "valution len:2832\n",
      "valution len:2833\n",
      "valution len:2834\n",
      "valution len:2835\n",
      "valution len:2836\n",
      "valution len:2837\n",
      "valution len:2838\n",
      "valution len:2839\n",
      "valution len:2840\n",
      "valution len:2841\n",
      "valution len:2842\n",
      "valution len:2843\n",
      "valution len:2844\n",
      "valution len:2845\n",
      "valution len:2846\n",
      "valution len:2847\n",
      "valution len:2848\n",
      "valution len:2849\n",
      "valution len:2850\n",
      "valution len:2851\n",
      "valution len:2852\n",
      "valution len:2853\n",
      "valution len:2854\n",
      "valution len:2855\n",
      "valution len:2856\n",
      "valution len:2857\n",
      "valution len:2858\n",
      "valution len:2859\n",
      "valution len:2860\n",
      "valution len:2861\n",
      "valution len:2862\n",
      "valution len:2863\n",
      "valution len:2864\n",
      "valution len:2865\n",
      "valution len:2866\n",
      "valution len:2867\n",
      "valution len:2868\n",
      "valution len:2869\n",
      "valution len:2870\n",
      "valution len:2871\n",
      "valution len:2872\n",
      "valution len:2873\n",
      "valution len:2874\n",
      "valution len:2875\n",
      "valution len:2876\n",
      "valution len:2877\n",
      "valution len:2878\n",
      "valution len:2879\n",
      "valution len:2880\n",
      "valution len:2881\n",
      "valution len:2882\n",
      "valution len:2883\n",
      "valution len:2884\n",
      "valution len:2885\n",
      "valution len:2886\n",
      "valution len:2887\n",
      "valution len:2888\n",
      "valution len:2889\n",
      "valution len:2890\n",
      "valution len:2891\n",
      "valution len:2892\n",
      "valution len:2893\n",
      "valution len:2894\n",
      "valution len:2895\n",
      "valution len:2896\n",
      "valution len:2897\n",
      "valution len:2898\n",
      "valution len:2899\n",
      "valution len:2900\n",
      "valution len:2901\n",
      "valution len:2902\n",
      "valution len:2903\n",
      "valution len:2904\n",
      "valution len:2905\n",
      "valution len:2906\n",
      "valution len:2907\n",
      "valution len:2908\n",
      "valution len:2909\n",
      "valution len:2910\n",
      "valution len:2911\n",
      "valution len:2912\n",
      "valution len:2913\n",
      "valution len:2914\n",
      "valution len:2915\n",
      "valution len:2916\n",
      "valution len:2917\n",
      "valution len:2918\n",
      "valution len:2919\n",
      "valution len:2920\n",
      "valution len:2921\n",
      "valution len:2922\n",
      "valution len:2923\n",
      "valution len:2924\n",
      "valution len:2925\n",
      "valution len:2926\n",
      "valution len:2927\n",
      "valution len:2928\n",
      "valution len:2929\n",
      "valution len:2930\n",
      "valution len:2931\n",
      "valution len:2932\n",
      "valution len:2933\n",
      "valution len:2934\n",
      "valution len:2935\n",
      "valution len:2936\n",
      "valution len:2937\n",
      "valution len:2938\n",
      "valution len:2939\n",
      "valution len:2940\n",
      "valution len:2941\n",
      "valution len:2942\n",
      "valution len:2943\n",
      "valution len:2944\n",
      "valution len:2945\n",
      "valution len:2946\n",
      "valution len:2947\n",
      "valution len:2948\n",
      "valution len:2949\n",
      "valution len:2950\n",
      "valution len:2951\n",
      "valution len:2952\n",
      "valution len:2953\n",
      "valution len:2954\n",
      "valution len:2955\n",
      "valution len:2956\n",
      "valution len:2957\n",
      "valution len:2958\n",
      "valution len:2959\n",
      "valution len:2960\n",
      "valution len:2961\n",
      "valution len:2962\n",
      "valution len:2963\n",
      "valution len:2964\n",
      "valution len:2965\n",
      "valution len:2966\n",
      "valution len:2967\n",
      "valution len:2968\n",
      "valution len:2969\n",
      "valution len:2970\n",
      "valution len:2971\n",
      "valution len:2972\n",
      "valution len:2973\n",
      "valution len:2974\n",
      "valution len:2975\n",
      "valution len:2976\n",
      "valution len:2977\n",
      "valution len:2978\n",
      "valution len:2979\n",
      "valution len:2980\n",
      "valution len:2981\n",
      "valution len:2982\n",
      "valution len:2983\n",
      "valution len:2984\n",
      "valution len:2985\n",
      "valution len:2986\n",
      "valution len:2987\n",
      "valution len:2988\n",
      "valution len:2989\n",
      "valution len:2990\n",
      "valution len:2991\n",
      "valution len:2992\n",
      "valution len:2993\n",
      "valution len:2994\n",
      "valution len:2995\n",
      "valution len:2996\n",
      "valution len:2997\n",
      "valution len:2998\n",
      "valution len:2999\n",
      "valution len:3000\n",
      "valution len:3001\n",
      "valution len:3002\n",
      "valution len:3003\n",
      "valution len:3004\n",
      "valution len:3005\n",
      "valution len:3006\n",
      "valution len:3007\n",
      "valution len:3008\n",
      "valution len:3009\n",
      "valution len:3010\n",
      "valution len:3011\n",
      "valution len:3012\n",
      "valution len:3013\n",
      "valution len:3014\n",
      "valution len:3015\n",
      "valution len:3016\n",
      "valution len:3017\n",
      "valution len:3018\n",
      "valution len:3019\n",
      "valution len:3020\n",
      "valution len:3021\n",
      "valution len:3022\n",
      "valution len:3023\n",
      "valution len:3024\n",
      "valution len:3025\n",
      "valution len:3026\n",
      "valution len:3027\n",
      "valution len:3028\n",
      "valution len:3029\n",
      "valution len:3030\n",
      "valution len:3031\n",
      "valution len:3032\n",
      "valution len:3033\n",
      "valution len:3034\n",
      "valution len:3035\n",
      "valution len:3036\n",
      "valution len:3037\n",
      "valution len:3038\n",
      "valution len:3039\n",
      "valution len:3040\n",
      "valution len:3041\n",
      "valution len:3042\n",
      "valution len:3043\n",
      "valution len:3044\n",
      "valution len:3045\n",
      "valution len:3046\n",
      "valution len:3047\n",
      "valution len:3048\n",
      "valution len:3049\n",
      "valution len:3050\n",
      "valution len:3051\n",
      "valution len:3052\n",
      "valution len:3053\n",
      "valution len:3054\n",
      "valution len:3055\n",
      "valution len:3056\n",
      "valution len:3057\n",
      "valution len:3058\n",
      "valution len:3059\n",
      "valution len:3060\n",
      "valution len:3061\n",
      "valution len:3062\n",
      "valution len:3063\n",
      "valution len:3064\n",
      "valution len:3065\n",
      "valution len:3066\n",
      "valution len:3067\n",
      "valution len:3068\n",
      "valution len:3069\n",
      "valution len:3070\n",
      "valution len:3071\n",
      "valution len:3072\n",
      "valution len:3073\n",
      "valution len:3074\n",
      "valution len:3075\n",
      "valution len:3076\n",
      "valution len:3077\n",
      "valution len:3078\n",
      "valution len:3079\n",
      "valution len:3080\n",
      "valution len:3081\n",
      "valution len:3082\n",
      "valution len:3083\n",
      "valution len:3084\n",
      "valution len:3085\n",
      "valution len:3086\n",
      "valution len:3087\n",
      "valution len:3088\n",
      "valution len:3089\n",
      "valution len:3090\n",
      "valution len:3091\n",
      "valution len:3092\n",
      "valution len:3093\n",
      "valution len:3094\n",
      "valution len:3095\n",
      "valution len:3096\n",
      "valution len:3097\n",
      "valution len:3098\n",
      "valution len:3099\n",
      "valution len:3100\n",
      "valution len:3101\n",
      "valution len:3102\n",
      "valution len:3103\n",
      "valution len:3104\n",
      "valution len:3105\n",
      "valution len:3106\n",
      "valution len:3107\n",
      "valution len:3108\n",
      "valution len:3109\n",
      "valution len:3110\n",
      "valution len:3111\n",
      "valution len:3112\n",
      "valution len:3113\n",
      "valution len:3114\n",
      "valution len:3115\n",
      "valution len:3116\n",
      "valution len:3117\n",
      "valution len:3118\n",
      "valution len:3119\n",
      "valution len:3120\n",
      "valution len:3121\n",
      "valution len:3122\n",
      "valution len:3123\n",
      "valution len:3124\n",
      "valution len:3125\n",
      "valution len:3126\n",
      "valution len:3127\n",
      "valution len:3128\n",
      "valution len:3129\n",
      "valution len:3130\n",
      "valution len:3131\n",
      "valution len:3132\n",
      "valution len:3133\n",
      "valution len:3134\n",
      "valution len:3135\n",
      "valution len:3136\n",
      "valution len:3137\n",
      "valution len:3138\n",
      "valution len:3139\n",
      "valution len:3140\n",
      "valution len:3141\n",
      "valution len:3142\n",
      "valution len:3143\n",
      "valution len:3144\n",
      "valution len:3145\n",
      "valution len:3146\n",
      "valution len:3147\n",
      "valution len:3148\n",
      "valution len:3149\n",
      "valution len:3150\n",
      "valution len:3151\n",
      "valution len:3152\n",
      "valution len:3153\n",
      "valution len:3154\n",
      "valution len:3155\n",
      "valution len:3156\n",
      "valution len:3157\n",
      "valution len:3158\n",
      "valution len:3159\n",
      "valution len:3160\n",
      "valution len:3161\n",
      "valution len:3162\n",
      "valution len:3163\n",
      "valution len:3164\n",
      "valution len:3165\n",
      "valution len:3166\n",
      "valution len:3167\n",
      "valution len:3168\n",
      "valution len:3169\n",
      "valution len:3170\n",
      "valution len:3171\n",
      "valution len:3172\n",
      "valution len:3173\n",
      "valution len:3174\n",
      "valution len:3175\n",
      "valution len:3176\n",
      "valution len:3177\n",
      "valution len:3178\n",
      "valution len:3179\n",
      "valution len:3180\n",
      "valution len:3181\n",
      "valution len:3182\n",
      "valution len:3183\n",
      "valution len:3184\n",
      "valution len:3185\n",
      "valution len:3186\n",
      "valution len:3187\n",
      "valution len:3188\n",
      "valution len:3189\n",
      "valution len:3190\n",
      "valution len:3191\n",
      "valution len:3192\n",
      "valution len:3193\n",
      "valution len:3194\n",
      "valution len:3195\n",
      "valution len:3196\n",
      "valution len:3197\n",
      "valution len:3198\n",
      "valution len:3199\n",
      "valution len:3200\n",
      "valution len:3201\n",
      "valution len:3202\n",
      "valution len:3203\n",
      "valution len:3204\n",
      "valution len:3205\n",
      "valution len:3206\n",
      "valution len:3207\n",
      "valution len:3208\n",
      "valution len:3209\n",
      "valution len:3210\n",
      "valution len:3211\n",
      "valution len:3212\n",
      "valution len:3213\n",
      "valution len:3214\n",
      "valution len:3215\n",
      "valution len:3216\n",
      "valution len:3217\n",
      "valution len:3218\n",
      "valution len:3219\n",
      "valution len:3220\n",
      "valution len:3221\n",
      "valution len:3222\n",
      "valution len:3223\n",
      "valution len:3224\n",
      "valution len:3225\n",
      "valution len:3226\n",
      "valution len:3227\n",
      "valution len:3228\n",
      "valution len:3229\n",
      "valution len:3230\n",
      "valution len:3231\n",
      "valution len:3232\n",
      "valution len:3233\n",
      "valution len:3234\n",
      "valution len:3235\n",
      "valution len:3236\n",
      "valution len:3237\n",
      "valution len:3238\n",
      "valution len:3239\n",
      "valution len:3240\n",
      "valution len:3241\n",
      "valution len:3242\n",
      "valution len:3243\n",
      "valution len:3244\n",
      "valution len:3245\n",
      "valution len:3246\n",
      "valution len:3247\n",
      "valution len:3248\n",
      "valution len:3249\n",
      "valution len:3250\n",
      "valution len:3251\n",
      "valution len:3252\n",
      "valution len:3253\n",
      "valution len:3254\n",
      "valution len:3255\n",
      "valution len:3256\n",
      "valution len:3257\n",
      "valution len:3258\n",
      "valution len:3259\n",
      "valution len:3260\n",
      "valution len:3261\n",
      "valution len:3262\n",
      "valution len:3263\n",
      "valution len:3264\n",
      "valution len:3265\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "valution len:3266\n",
      "valution len:3267\n",
      "valution len:3268\n",
      "valution len:3269\n",
      "valution len:3270\n",
      "valution len:3271\n",
      "valution len:3272\n",
      "valution len:3273\n",
      "valution len:3274\n",
      "valution len:3275\n",
      "valution len:3276\n",
      "valution len:3277\n",
      "valution len:3278\n",
      "valution len:3279\n",
      "valution len:3280\n",
      "valution len:3281\n",
      "valution len:3282\n",
      "valution len:3283\n",
      "valution len:3284\n",
      "valution len:3285\n",
      "valution len:3286\n",
      "valution len:3287\n",
      "valution len:3288\n",
      "valution len:3289\n",
      "valution len:3290\n",
      "valution len:3291\n",
      "valution len:3292\n",
      "valution len:3293\n",
      "valution len:3294\n",
      "valution len:3295\n",
      "valution len:3296\n",
      "valution len:3297\n",
      "valution len:3298\n",
      "valution len:3299\n",
      "valution len:3300\n",
      "valution len:3301\n",
      "valution len:3302\n",
      "valution len:3303\n",
      "valution len:3304\n",
      "valution len:3305\n",
      "valution len:3306\n",
      "valution len:3307\n",
      "valution len:3308\n",
      "valution len:3309\n",
      "valution len:3310\n",
      "valution len:3311\n",
      "valution len:3312\n",
      "valution len:3313\n",
      "valution len:3314\n",
      "valution len:3315\n",
      "valution len:3316\n",
      "valution len:3317\n",
      "valution len:3318\n",
      "valution len:3319\n",
      "valution len:3320\n",
      "valution len:3321\n",
      "valution len:3322\n",
      "valution len:3323\n",
      "valution len:3324\n",
      "valution len:3325\n",
      "valution len:3326\n",
      "valution len:3327\n",
      "valution len:3328\n",
      "valution len:3329\n",
      "valution len:3330\n",
      "valution len:3331\n",
      "valution len:3332\n",
      "valution len:3333\n",
      "valution len:3334\n",
      "valution len:3335\n",
      "valution len:3336\n",
      "valution len:3337\n",
      "valution len:3338\n",
      "valution len:3339\n",
      "valution len:3340\n",
      "valution len:3341\n",
      "valution len:3342\n",
      "valution len:3343\n",
      "valution len:3344\n",
      "valution len:3345\n",
      "valution len:3346\n",
      "valution len:3347\n",
      "valution len:3348\n",
      "valution len:3349\n",
      "valution len:3350\n",
      "valution len:3351\n",
      "valution len:3352\n",
      "valution len:3353\n",
      "valution len:3354\n",
      "valution len:3355\n",
      "valution len:3356\n",
      "valution len:3357\n",
      "valution len:3358\n",
      "valution len:3359\n",
      "valution len:3360\n",
      "valution len:3361\n",
      "valution len:3362\n",
      "valution len:3363\n",
      "valution len:3364\n",
      "valution len:3365\n",
      "valution len:3366\n",
      "valution len:3367\n",
      "valution len:3368\n",
      "valution len:3369\n",
      "valution len:3370\n",
      "valution len:3371\n",
      "valution len:3372\n",
      "valution len:3373\n",
      "valution len:3374\n",
      "valution len:3375\n",
      "valution len:3376\n",
      "valution len:3377\n",
      "valution len:3378\n",
      "valution len:3379\n",
      "valution len:3380\n",
      "valution len:3381\n",
      "valution len:3382\n",
      "valution len:3383\n",
      "valution len:3384\n",
      "valution len:3385\n",
      "valution len:3386\n",
      "valution len:3387\n",
      "valution len:3388\n",
      "valution len:3389\n",
      "valution len:3390\n",
      "valution len:3391\n",
      "valution len:3392\n",
      "valution len:3393\n",
      "valution len:3394\n",
      "valution len:3395\n",
      "valution len:3396\n",
      "valution len:3397\n",
      "valution len:3398\n",
      "valution len:3399\n",
      "valution len:3400\n",
      "valution len:3401\n",
      "valution len:3402\n",
      "valution len:3403\n",
      "valution len:3404\n",
      "valution len:3405\n",
      "valution len:3406\n",
      "valution len:3407\n",
      "valution len:3408\n",
      "valution len:3409\n",
      "valution len:3410\n",
      "valution len:3411\n",
      "valution len:3412\n",
      "valution len:3413\n",
      "valution len:3414\n",
      "valution len:3415\n",
      "valution len:3416\n",
      "valution len:3417\n",
      "valution len:3418\n",
      "valution len:3419\n",
      "valution len:3420\n",
      "valution len:3421\n",
      "valution len:3422\n",
      "valution len:3423\n",
      "valution len:3424\n",
      "valution len:3425\n",
      "valution len:3426\n",
      "valution len:3427\n",
      "valution len:3428\n",
      "valution len:3429\n",
      "valution len:3430\n",
      "valution len:3431\n",
      "valution len:3432\n",
      "valution len:3433\n",
      "valution len:3434\n",
      "valution len:3435\n",
      "valution len:3436\n",
      "valution len:3437\n",
      "valution len:3438\n",
      "valution len:3439\n",
      "valution len:3440\n",
      "valution len:3441\n",
      "valution len:3442\n",
      "valution len:3443\n",
      "valution len:3444\n",
      "valution len:3445\n",
      "valution len:3446\n",
      "valution len:3447\n",
      "valution len:3448\n",
      "valution len:3449\n",
      "valution len:3450\n",
      "valution len:3451\n",
      "valution len:3452\n",
      "valution len:3453\n",
      "valution len:3454\n",
      "valution len:3455\n",
      "valution len:3456\n",
      "valution len:3457\n",
      "valution len:3458\n",
      "valution len:3459\n",
      "valution len:3460\n",
      "valution len:3461\n",
      "valution len:3462\n",
      "valution len:3463\n",
      "valution len:3464\n",
      "valution len:3465\n",
      "valution len:3466\n",
      "valution len:3467\n",
      "valution len:3468\n",
      "valution len:3469\n",
      "valution len:3470\n",
      "valution len:3471\n",
      "valution len:3472\n",
      "valution len:3473\n",
      "valution len:3474\n",
      "valution len:3475\n",
      "valution len:3476\n",
      "valution len:3477\n",
      "valution len:3478\n",
      "valution len:3479\n",
      "valution len:3480\n",
      "valution len:3481\n",
      "valution len:3482\n",
      "valution len:3483\n",
      "valution len:3484\n",
      "valution len:3485\n",
      "valution len:3486\n",
      "valution len:3487\n",
      "valution len:3488\n",
      "valution len:3489\n",
      "valution len:3490\n",
      "valution len:3491\n",
      "valution len:3492\n",
      "valution len:3493\n",
      "valution len:3494\n",
      "valution len:3495\n",
      "valution len:3496\n",
      "valution len:3497\n",
      "valution len:3498\n",
      "valution len:3499\n",
      "valution len:3500\n",
      "valution len:3501\n",
      "valution len:3502\n",
      "valution len:3503\n",
      "valution len:3504\n",
      "valution len:3505\n",
      "valution len:3506\n",
      "valution len:3507\n",
      "valution len:3508\n",
      "valution len:3509\n",
      "valution len:3510\n",
      "valution len:3511\n",
      "valution len:3512\n",
      "valution len:3513\n",
      "valution len:3514\n",
      "valution len:3515\n",
      "valution len:3516\n",
      "valution len:3517\n",
      "valution len:3518\n",
      "valution len:3519\n",
      "valution len:3520\n",
      "valution len:3521\n",
      "valution len:3522\n",
      "valution len:3523\n",
      "valution len:3524\n",
      "valution len:3525\n",
      "valution len:3526\n",
      "valution len:3527\n",
      "valution len:3528\n",
      "valution len:3529\n",
      "valution len:3530\n",
      "valution len:3531\n",
      "valution len:3532\n",
      "valution len:3533\n",
      "valution len:3534\n",
      "valution len:3535\n",
      "valution len:3536\n",
      "valution len:3537\n",
      "valution len:3538\n",
      "valution len:3539\n",
      "valution len:3540\n",
      "valution len:3541\n",
      "valution len:3542\n",
      "valution len:3543\n",
      "valution len:3544\n",
      "valution len:3545\n",
      "valution len:3546\n",
      "valution len:3547\n",
      "valution len:3548\n",
      "valution len:3549\n",
      "valution len:3550\n",
      "valution len:3551\n",
      "valution len:3552\n",
      "valution len:3553\n",
      "valution len:3554\n",
      "valution len:3555\n",
      "valution len:3556\n",
      "valution len:3557\n",
      "valution len:3558\n",
      "valution len:3559\n",
      "valution len:3560\n",
      "valution len:3561\n",
      "valution len:3562\n",
      "valution len:3563\n",
      "valution len:3564\n",
      "valution len:3565\n",
      "valution len:3566\n",
      "valution len:3567\n",
      "valution len:3568\n",
      "valution len:3569\n",
      "valution len:3570\n",
      "valution len:3571\n",
      "valution len:3572\n",
      "valution len:3573\n",
      "valution len:3574\n",
      "valution len:3575\n",
      "valution len:3576\n",
      "valution len:3577\n",
      "valution len:3578\n",
      "valution len:3579\n",
      "valution len:3580\n",
      "valution len:3581\n",
      "valution len:3582\n",
      "valution len:3583\n",
      "valution len:3584\n",
      "valution len:3585\n",
      "valution len:3586\n",
      "valution len:3587\n",
      "valution len:3588\n",
      "valution len:3589\n",
      "valution len:3590\n",
      "valution len:3591\n",
      "valution len:3592\n",
      "valution len:3593\n",
      "valution len:3594\n",
      "valution len:3595\n",
      "valution len:3596\n",
      "valution len:3597\n",
      "valution len:3598\n",
      "valution len:3599\n",
      "valution len:3600\n",
      "valution len:3601\n",
      "valution len:3602\n",
      "valution len:3603\n",
      "valution len:3604\n",
      "valution len:3605\n",
      "valution len:3606\n",
      "valution len:3607\n",
      "valution len:3608\n",
      "valution len:3609\n",
      "valution len:3610\n",
      "valution len:3611\n",
      "valution len:3612\n"
     ]
    }
   ],
   "source": [
    "stock_basic = pro.stock_basic(exchange='', list_status='L', fields='ts_code,list_date')\n",
    "if stock_basic.empty:\n",
    "    print(\"获取ts股票基本信息失败，return\")\n",
    "stock_basic = stock_basic.set_index(\"ts_code\")\n",
    "basic_dir = \"C:\\\\quanttime\\\\data\\\\finance\\\\ts\\\\valuation\\\\\"\n",
    "columns_name = ['ts_code','close', 'turnover_rate', 'turnover_rate_f','volume_ratio', 'pe', 'pe_ttm', 'pb', 'ps', 'ps_ttm',\n",
    "                'total_share','float_share', 'free_share', 'total_mv', 'circ_mv']\n",
    "valuation_data_last_record = pd.DataFrame(columns=columns_name)\n",
    "valuation_data_last_record.index.name = \"trade_date\"\n",
    "list_empty_code = []\n",
    "for stock_code in stock_basic.index:\n",
    "    #print(\"process:%s....\" % stock_code)\n",
    "    valuation_file = basic_dir + stock_code + '.csv'\n",
    "    if os.path.exists(valuation_file):\n",
    "        valuation_data = pd.read_csv(valuation_file, index_col=[\"trade_date\"], parse_dates=True)\n",
    "        if valuation_data.empty:\n",
    "            list_empty_code.append(stock_code)\n",
    "            continue\n",
    "        valuation_data_last_record = valuation_data_last_record.append(valuation_data.iloc[-1, :])\n",
    "        print(\"valution len:%d\"%len(valuation_data_last_record))\n",
    "    else:\n",
    "        list_empty_code.append(stock_code)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "list_empty_code"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "valuation_data_last_record"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "tmp = valuation_data_last_record\n",
    "tmp.index.unique()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'2019-05-31': ['000001.SZ',\n",
       "  '000002.SZ',\n",
       "  '000004.SZ',\n",
       "  '000005.SZ',\n",
       "  '000006.SZ',\n",
       "  '000007.SZ',\n",
       "  '000008.SZ',\n",
       "  '000009.SZ',\n",
       "  '000010.SZ',\n",
       "  '000011.SZ',\n",
       "  '000012.SZ',\n",
       "  '000014.SZ',\n",
       "  '000016.SZ',\n",
       "  '000017.SZ',\n",
       "  '000018.SZ',\n",
       "  '000019.SZ',\n",
       "  '000020.SZ',\n",
       "  '000021.SZ',\n",
       "  '000023.SZ',\n",
       "  '000025.SZ',\n",
       "  '000026.SZ',\n",
       "  '000027.SZ',\n",
       "  '000028.SZ',\n",
       "  '000030.SZ',\n",
       "  '000031.SZ',\n",
       "  '000032.SZ',\n",
       "  '000034.SZ',\n",
       "  '000035.SZ',\n",
       "  '000036.SZ',\n",
       "  '000037.SZ',\n",
       "  '000038.SZ',\n",
       "  '000039.SZ',\n",
       "  '000040.SZ',\n",
       "  '000042.SZ',\n",
       "  '000043.SZ',\n",
       "  '000045.SZ',\n",
       "  '000046.SZ',\n",
       "  '000048.SZ',\n",
       "  '000049.SZ',\n",
       "  '000050.SZ',\n",
       "  '000055.SZ',\n",
       "  '000056.SZ',\n",
       "  '000058.SZ',\n",
       "  '000059.SZ',\n",
       "  '000060.SZ',\n",
       "  '000061.SZ',\n",
       "  '000063.SZ',\n",
       "  '000065.SZ',\n",
       "  '000066.SZ',\n",
       "  '000068.SZ',\n",
       "  '000069.SZ',\n",
       "  '000070.SZ',\n",
       "  '000078.SZ',\n",
       "  '000088.SZ',\n",
       "  '000089.SZ',\n",
       "  '000090.SZ',\n",
       "  '000096.SZ',\n",
       "  '000099.SZ',\n",
       "  '000100.SZ',\n",
       "  '000150.SZ',\n",
       "  '000151.SZ',\n",
       "  '000153.SZ',\n",
       "  '000155.SZ',\n",
       "  '000156.SZ',\n",
       "  '000157.SZ',\n",
       "  '000158.SZ',\n",
       "  '000159.SZ',\n",
       "  '000166.SZ',\n",
       "  '000301.SZ',\n",
       "  '000333.SZ',\n",
       "  '000338.SZ',\n",
       "  '000400.SZ',\n",
       "  '000401.SZ',\n",
       "  '000402.SZ',\n",
       "  '000403.SZ',\n",
       "  '000404.SZ',\n",
       "  '000407.SZ',\n",
       "  '000408.SZ',\n",
       "  '000409.SZ',\n",
       "  '000410.SZ',\n",
       "  '000411.SZ',\n",
       "  '000413.SZ',\n",
       "  '000415.SZ',\n",
       "  '000416.SZ',\n",
       "  '000417.SZ',\n",
       "  '000419.SZ',\n",
       "  '000420.SZ',\n",
       "  '000421.SZ',\n",
       "  '000422.SZ',\n",
       "  '000423.SZ',\n",
       "  '000425.SZ',\n",
       "  '000426.SZ',\n",
       "  '000428.SZ',\n",
       "  '000429.SZ',\n",
       "  '000430.SZ',\n",
       "  '000488.SZ',\n",
       "  '000498.SZ',\n",
       "  '000501.SZ',\n",
       "  '000502.SZ',\n",
       "  '000503.SZ',\n",
       "  '000504.SZ',\n",
       "  '000505.SZ',\n",
       "  '000506.SZ',\n",
       "  '000507.SZ',\n",
       "  '000509.SZ',\n",
       "  '000510.SZ',\n",
       "  '000513.SZ',\n",
       "  '000514.SZ',\n",
       "  '000516.SZ',\n",
       "  '000517.SZ',\n",
       "  '000518.SZ',\n",
       "  '000519.SZ',\n",
       "  '000520.SZ',\n",
       "  '000521.SZ',\n",
       "  '000523.SZ',\n",
       "  '000524.SZ',\n",
       "  '000525.SZ',\n",
       "  '000526.SZ',\n",
       "  '000528.SZ',\n",
       "  '000529.SZ',\n",
       "  '000530.SZ',\n",
       "  '000531.SZ',\n",
       "  '000532.SZ',\n",
       "  '000533.SZ',\n",
       "  '000534.SZ',\n",
       "  '000536.SZ',\n",
       "  '000537.SZ',\n",
       "  '000538.SZ',\n",
       "  '000539.SZ',\n",
       "  '000540.SZ',\n",
       "  '000541.SZ',\n",
       "  '000543.SZ',\n",
       "  '000544.SZ',\n",
       "  '000545.SZ',\n",
       "  '000546.SZ',\n",
       "  '000547.SZ',\n",
       "  '000548.SZ',\n",
       "  '000550.SZ',\n",
       "  '000551.SZ',\n",
       "  '000552.SZ',\n",
       "  '000553.SZ',\n",
       "  '000554.SZ',\n",
       "  '000555.SZ',\n",
       "  '000557.SZ',\n",
       "  '000558.SZ',\n",
       "  '000559.SZ',\n",
       "  '000560.SZ',\n",
       "  '000561.SZ',\n",
       "  '000563.SZ',\n",
       "  '000564.SZ',\n",
       "  '000565.SZ',\n",
       "  '000566.SZ',\n",
       "  '000567.SZ',\n",
       "  '000568.SZ',\n",
       "  '000570.SZ',\n",
       "  '000571.SZ',\n",
       "  '000572.SZ',\n",
       "  '000573.SZ',\n",
       "  '000576.SZ',\n",
       "  '000581.SZ',\n",
       "  '000582.SZ',\n",
       "  '000584.SZ',\n",
       "  '000585.SZ',\n",
       "  '000586.SZ',\n",
       "  '000587.SZ',\n",
       "  '000589.SZ',\n",
       "  '000590.SZ',\n",
       "  '000591.SZ',\n",
       "  '000592.SZ',\n",
       "  '000593.SZ',\n",
       "  '000595.SZ',\n",
       "  '000596.SZ',\n",
       "  '000597.SZ',\n",
       "  '000598.SZ',\n",
       "  '000599.SZ',\n",
       "  '000600.SZ',\n",
       "  '000601.SZ',\n",
       "  '000603.SZ',\n",
       "  '000605.SZ',\n",
       "  '000606.SZ',\n",
       "  '000607.SZ',\n",
       "  '000608.SZ',\n",
       "  '000609.SZ',\n",
       "  '000610.SZ',\n",
       "  '000611.SZ',\n",
       "  '000612.SZ',\n",
       "  '000613.SZ',\n",
       "  '000615.SZ',\n",
       "  '000616.SZ',\n",
       "  '000617.SZ',\n",
       "  '000619.SZ',\n",
       "  '000620.SZ',\n",
       "  '000622.SZ',\n",
       "  '000623.SZ',\n",
       "  '000625.SZ',\n",
       "  '000626.SZ',\n",
       "  '000627.SZ',\n",
       "  '000628.SZ',\n",
       "  '000629.SZ',\n",
       "  '000630.SZ',\n",
       "  '000631.SZ',\n",
       "  '000632.SZ',\n",
       "  '000633.SZ',\n",
       "  '000635.SZ',\n",
       "  '000636.SZ',\n",
       "  '000637.SZ',\n",
       "  '000638.SZ',\n",
       "  '000639.SZ',\n",
       "  '000650.SZ',\n",
       "  '000651.SZ',\n",
       "  '000652.SZ',\n",
       "  '000655.SZ',\n",
       "  '000656.SZ',\n",
       "  '000657.SZ',\n",
       "  '000659.SZ',\n",
       "  '000661.SZ',\n",
       "  '000662.SZ',\n",
       "  '000663.SZ',\n",
       "  '000665.SZ',\n",
       "  '000666.SZ',\n",
       "  '000667.SZ',\n",
       "  '000668.SZ',\n",
       "  '000669.SZ',\n",
       "  '000670.SZ',\n",
       "  '000671.SZ',\n",
       "  '000672.SZ',\n",
       "  '000673.SZ',\n",
       "  '000676.SZ',\n",
       "  '000677.SZ',\n",
       "  '000678.SZ',\n",
       "  '000679.SZ',\n",
       "  '000680.SZ',\n",
       "  '000681.SZ',\n",
       "  '000682.SZ',\n",
       "  '000683.SZ',\n",
       "  '000685.SZ',\n",
       "  '000686.SZ',\n",
       "  '000687.SZ',\n",
       "  '000688.SZ',\n",
       "  '000690.SZ',\n",
       "  '000691.SZ',\n",
       "  '000692.SZ',\n",
       "  '000695.SZ',\n",
       "  '000697.SZ',\n",
       "  '000698.SZ',\n",
       "  '000700.SZ',\n",
       "  '000701.SZ',\n",
       "  '000702.SZ',\n",
       "  '000703.SZ',\n",
       "  '000705.SZ',\n",
       "  '000707.SZ',\n",
       "  '000708.SZ',\n",
       "  '000709.SZ',\n",
       "  '000710.SZ',\n",
       "  '000711.SZ',\n",
       "  '000712.SZ',\n",
       "  '000713.SZ',\n",
       "  '000715.SZ',\n",
       "  '000716.SZ',\n",
       "  '000717.SZ',\n",
       "  '000718.SZ',\n",
       "  '000719.SZ',\n",
       "  '000720.SZ',\n",
       "  '000721.SZ',\n",
       "  '000722.SZ',\n",
       "  '000723.SZ',\n",
       "  '000725.SZ',\n",
       "  '000726.SZ',\n",
       "  '000727.SZ',\n",
       "  '000728.SZ',\n",
       "  '000729.SZ',\n",
       "  '000731.SZ',\n",
       "  '000732.SZ',\n",
       "  '000733.SZ',\n",
       "  '000735.SZ',\n",
       "  '000736.SZ',\n",
       "  '000737.SZ',\n",
       "  '000738.SZ',\n",
       "  '000739.SZ',\n",
       "  '000750.SZ',\n",
       "  '000751.SZ',\n",
       "  '000752.SZ',\n",
       "  '000753.SZ',\n",
       "  '000755.SZ',\n",
       "  '000756.SZ',\n",
       "  '000757.SZ',\n",
       "  '000758.SZ',\n",
       "  '000759.SZ',\n",
       "  '000760.SZ',\n",
       "  '000761.SZ',\n",
       "  '000762.SZ',\n",
       "  '000766.SZ',\n",
       "  '000767.SZ',\n",
       "  '000768.SZ',\n",
       "  '000776.SZ',\n",
       "  '000777.SZ',\n",
       "  '000778.SZ',\n",
       "  '000779.SZ',\n",
       "  '000780.SZ',\n",
       "  '000782.SZ',\n",
       "  '000783.SZ',\n",
       "  '000785.SZ',\n",
       "  '000786.SZ',\n",
       "  '000788.SZ',\n",
       "  '000789.SZ',\n",
       "  '000790.SZ',\n",
       "  '000791.SZ',\n",
       "  '000792.SZ',\n",
       "  '000793.SZ',\n",
       "  '000795.SZ',\n",
       "  '000796.SZ',\n",
       "  '000797.SZ',\n",
       "  '000798.SZ',\n",
       "  '000799.SZ',\n",
       "  '000800.SZ',\n",
       "  '000801.SZ',\n",
       "  '000802.SZ',\n",
       "  '000803.SZ',\n",
       "  '000806.SZ',\n",
       "  '000807.SZ',\n",
       "  '000809.SZ',\n",
       "  '000810.SZ',\n",
       "  '000811.SZ',\n",
       "  '000812.SZ',\n",
       "  '000813.SZ',\n",
       "  '000815.SZ',\n",
       "  '000816.SZ',\n",
       "  '000818.SZ',\n",
       "  '000819.SZ',\n",
       "  '000820.SZ',\n",
       "  '000821.SZ',\n",
       "  '000822.SZ',\n",
       "  '000823.SZ',\n",
       "  '000825.SZ',\n",
       "  '000826.SZ',\n",
       "  '000828.SZ',\n",
       "  '000829.SZ',\n",
       "  '000830.SZ',\n",
       "  '000831.SZ',\n",
       "  '000833.SZ',\n",
       "  '000835.SZ',\n",
       "  '000836.SZ',\n",
       "  '000837.SZ',\n",
       "  '000838.SZ',\n",
       "  '000839.SZ',\n",
       "  '000848.SZ',\n",
       "  '000850.SZ',\n",
       "  '000851.SZ',\n",
       "  '000852.SZ',\n",
       "  '000856.SZ',\n",
       "  '000858.SZ',\n",
       "  '000859.SZ',\n",
       "  '000860.SZ',\n",
       "  '000861.SZ',\n",
       "  '000862.SZ',\n",
       "  '000863.SZ',\n",
       "  '000868.SZ',\n",
       "  '000869.SZ',\n",
       "  '000875.SZ',\n",
       "  '000876.SZ',\n",
       "  '000877.SZ',\n",
       "  '000878.SZ',\n",
       "  '000880.SZ',\n",
       "  '000881.SZ',\n",
       "  '000882.SZ',\n",
       "  '000883.SZ',\n",
       "  '000885.SZ',\n",
       "  '000886.SZ',\n",
       "  '000887.SZ',\n",
       "  '000888.SZ',\n",
       "  '000889.SZ',\n",
       "  '000890.SZ',\n",
       "  '000892.SZ',\n",
       "  '000893.SZ',\n",
       "  '000895.SZ',\n",
       "  '000897.SZ',\n",
       "  '000898.SZ',\n",
       "  '000899.SZ',\n",
       "  '000900.SZ',\n",
       "  '000901.SZ',\n",
       "  '000902.SZ',\n",
       "  '000903.SZ',\n",
       "  '000905.SZ',\n",
       "  '000906.SZ',\n",
       "  '000908.SZ',\n",
       "  '000909.SZ',\n",
       "  '000910.SZ',\n",
       "  '000911.SZ',\n",
       "  '000912.SZ',\n",
       "  '000913.SZ',\n",
       "  '000915.SZ',\n",
       "  '000917.SZ',\n",
       "  '000918.SZ',\n",
       "  '000919.SZ',\n",
       "  '000920.SZ',\n",
       "  '000921.SZ',\n",
       "  '000922.SZ',\n",
       "  '000923.SZ',\n",
       "  '000925.SZ',\n",
       "  '000926.SZ',\n",
       "  '000927.SZ',\n",
       "  '000928.SZ',\n",
       "  '000929.SZ',\n",
       "  '000930.SZ',\n",
       "  '000931.SZ',\n",
       "  '000932.SZ',\n",
       "  '000933.SZ',\n",
       "  '000935.SZ',\n",
       "  '000936.SZ',\n",
       "  '000937.SZ',\n",
       "  '000938.SZ',\n",
       "  '000948.SZ',\n",
       "  '000949.SZ',\n",
       "  '000950.SZ',\n",
       "  '000951.SZ',\n",
       "  '000952.SZ',\n",
       "  '000953.SZ',\n",
       "  '000955.SZ',\n",
       "  '000957.SZ',\n",
       "  '000958.SZ',\n",
       "  '000959.SZ',\n",
       "  '000960.SZ',\n",
       "  '000961.SZ',\n",
       "  '000962.SZ',\n",
       "  '000963.SZ',\n",
       "  '000965.SZ',\n",
       "  '000966.SZ',\n",
       "  '000967.SZ',\n",
       "  '000968.SZ',\n",
       "  '000969.SZ',\n",
       "  '000970.SZ',\n",
       "  '000971.SZ',\n",
       "  '000972.SZ',\n",
       "  '000973.SZ',\n",
       "  '000975.SZ',\n",
       "  '000976.SZ',\n",
       "  '000977.SZ',\n",
       "  '000978.SZ',\n",
       "  '000980.SZ',\n",
       "  '000981.SZ',\n",
       "  '000982.SZ',\n",
       "  '000983.SZ',\n",
       "  '000985.SZ',\n",
       "  '000987.SZ',\n",
       "  '000988.SZ',\n",
       "  '000989.SZ',\n",
       "  '000990.SZ',\n",
       "  '000993.SZ',\n",
       "  '000996.SZ',\n",
       "  '000997.SZ',\n",
       "  '000998.SZ',\n",
       "  '000999.SZ',\n",
       "  '001696.SZ',\n",
       "  '001872.SZ',\n",
       "  '001896.SZ',\n",
       "  '001965.SZ',\n",
       "  '001979.SZ',\n",
       "  '002001.SZ',\n",
       "  '002002.SZ',\n",
       "  '002003.SZ',\n",
       "  '002004.SZ',\n",
       "  '002005.SZ',\n",
       "  '002006.SZ',\n",
       "  '002007.SZ',\n",
       "  '002008.SZ',\n",
       "  '002009.SZ',\n",
       "  '002010.SZ',\n",
       "  '002011.SZ',\n",
       "  '002012.SZ',\n",
       "  '002013.SZ',\n",
       "  '002014.SZ',\n",
       "  '002015.SZ',\n",
       "  '002016.SZ',\n",
       "  '002017.SZ',\n",
       "  '002018.SZ',\n",
       "  '002019.SZ',\n",
       "  '002020.SZ',\n",
       "  '002021.SZ',\n",
       "  '002022.SZ',\n",
       "  '002023.SZ',\n",
       "  '002024.SZ',\n",
       "  '002025.SZ',\n",
       "  '002026.SZ',\n",
       "  '002027.SZ',\n",
       "  '002028.SZ',\n",
       "  '002029.SZ',\n",
       "  '002030.SZ',\n",
       "  '002031.SZ',\n",
       "  '002032.SZ',\n",
       "  '002033.SZ',\n",
       "  '002034.SZ',\n",
       "  '002035.SZ',\n",
       "  '002036.SZ',\n",
       "  '002037.SZ',\n",
       "  '002038.SZ',\n",
       "  '002039.SZ',\n",
       "  '002040.SZ',\n",
       "  '002041.SZ',\n",
       "  '002042.SZ',\n",
       "  '002043.SZ',\n",
       "  '002044.SZ',\n",
       "  '002045.SZ',\n",
       "  '002046.SZ',\n",
       "  '002047.SZ',\n",
       "  '002048.SZ',\n",
       "  '002050.SZ',\n",
       "  '002051.SZ',\n",
       "  '002052.SZ',\n",
       "  '002053.SZ',\n",
       "  '002054.SZ',\n",
       "  '002055.SZ',\n",
       "  '002056.SZ',\n",
       "  '002057.SZ',\n",
       "  '002058.SZ',\n",
       "  '002059.SZ',\n",
       "  '002060.SZ',\n",
       "  '002061.SZ',\n",
       "  '002062.SZ',\n",
       "  '002063.SZ',\n",
       "  '002064.SZ',\n",
       "  '002065.SZ',\n",
       "  '002066.SZ',\n",
       "  '002067.SZ',\n",
       "  '002068.SZ',\n",
       "  '002069.SZ',\n",
       "  '002071.SZ',\n",
       "  '002072.SZ',\n",
       "  '002073.SZ',\n",
       "  '002074.SZ',\n",
       "  '002075.SZ',\n",
       "  '002076.SZ',\n",
       "  '002077.SZ',\n",
       "  '002078.SZ',\n",
       "  '002079.SZ',\n",
       "  '002080.SZ',\n",
       "  '002081.SZ',\n",
       "  '002082.SZ',\n",
       "  '002083.SZ',\n",
       "  '002084.SZ',\n",
       "  '002085.SZ',\n",
       "  '002086.SZ',\n",
       "  '002087.SZ',\n",
       "  '002088.SZ',\n",
       "  '002089.SZ',\n",
       "  '002090.SZ',\n",
       "  '002091.SZ',\n",
       "  '002092.SZ',\n",
       "  '002093.SZ',\n",
       "  '002094.SZ',\n",
       "  '002095.SZ',\n",
       "  '002096.SZ',\n",
       "  '002097.SZ',\n",
       "  '002098.SZ',\n",
       "  '002099.SZ',\n",
       "  '002100.SZ',\n",
       "  '002101.SZ',\n",
       "  '002102.SZ',\n",
       "  '002103.SZ',\n",
       "  '002104.SZ',\n",
       "  '002105.SZ',\n",
       "  '002106.SZ',\n",
       "  '002107.SZ',\n",
       "  '002108.SZ',\n",
       "  '002109.SZ',\n",
       "  '002110.SZ',\n",
       "  '002111.SZ',\n",
       "  '002112.SZ',\n",
       "  '002113.SZ',\n",
       "  '002114.SZ',\n",
       "  '002115.SZ',\n",
       "  '002116.SZ',\n",
       "  '002117.SZ',\n",
       "  '002118.SZ',\n",
       "  '002119.SZ',\n",
       "  '002120.SZ',\n",
       "  '002121.SZ',\n",
       "  '002122.SZ',\n",
       "  '002123.SZ',\n",
       "  '002124.SZ',\n",
       "  '002125.SZ',\n",
       "  '002126.SZ',\n",
       "  '002127.SZ',\n",
       "  '002128.SZ',\n",
       "  '002129.SZ',\n",
       "  '002130.SZ',\n",
       "  '002131.SZ',\n",
       "  '002132.SZ',\n",
       "  '002133.SZ',\n",
       "  '002134.SZ',\n",
       "  '002135.SZ',\n",
       "  '002136.SZ',\n",
       "  '002137.SZ',\n",
       "  '002138.SZ',\n",
       "  '002139.SZ',\n",
       "  '002140.SZ',\n",
       "  '002141.SZ',\n",
       "  '002142.SZ',\n",
       "  '002143.SZ',\n",
       "  '002144.SZ',\n",
       "  '002145.SZ',\n",
       "  '002146.SZ',\n",
       "  '002147.SZ',\n",
       "  '002148.SZ',\n",
       "  '002149.SZ',\n",
       "  '002150.SZ',\n",
       "  '002151.SZ',\n",
       "  '002152.SZ',\n",
       "  '002153.SZ',\n",
       "  '002154.SZ',\n",
       "  '002155.SZ',\n",
       "  '002156.SZ',\n",
       "  '002157.SZ',\n",
       "  '002158.SZ',\n",
       "  '002159.SZ',\n",
       "  '002160.SZ',\n",
       "  '002161.SZ',\n",
       "  '002162.SZ',\n",
       "  '002163.SZ',\n",
       "  '002164.SZ',\n",
       "  '002165.SZ',\n",
       "  '002166.SZ',\n",
       "  '002167.SZ',\n",
       "  '002168.SZ',\n",
       "  '002169.SZ',\n",
       "  '002170.SZ',\n",
       "  '002171.SZ',\n",
       "  '002172.SZ',\n",
       "  '002173.SZ',\n",
       "  '002174.SZ',\n",
       "  '002175.SZ',\n",
       "  '002176.SZ',\n",
       "  '002177.SZ',\n",
       "  '002178.SZ',\n",
       "  '002179.SZ',\n",
       "  '002180.SZ',\n",
       "  '002181.SZ',\n",
       "  '002182.SZ',\n",
       "  '002183.SZ',\n",
       "  '002184.SZ',\n",
       "  '002185.SZ',\n",
       "  '002186.SZ',\n",
       "  '002187.SZ',\n",
       "  '002188.SZ',\n",
       "  '002189.SZ',\n",
       "  '002190.SZ',\n",
       "  '002191.SZ',\n",
       "  '002192.SZ',\n",
       "  '002193.SZ',\n",
       "  '002194.SZ',\n",
       "  '002195.SZ',\n",
       "  '002196.SZ',\n",
       "  '002197.SZ',\n",
       "  '002198.SZ',\n",
       "  '002199.SZ',\n",
       "  '002200.SZ',\n",
       "  '002201.SZ',\n",
       "  '002202.SZ',\n",
       "  '002203.SZ',\n",
       "  '002204.SZ',\n",
       "  '002205.SZ',\n",
       "  '002206.SZ',\n",
       "  '002207.SZ',\n",
       "  '002208.SZ',\n",
       "  '002209.SZ',\n",
       "  '002210.SZ',\n",
       "  '002211.SZ',\n",
       "  '002212.SZ',\n",
       "  '002213.SZ',\n",
       "  '002214.SZ',\n",
       "  '002215.SZ',\n",
       "  '002216.SZ',\n",
       "  '002217.SZ',\n",
       "  '002218.SZ',\n",
       "  '002219.SZ',\n",
       "  '002220.SZ',\n",
       "  '002221.SZ',\n",
       "  '002222.SZ',\n",
       "  '002223.SZ',\n",
       "  '002224.SZ',\n",
       "  '002225.SZ',\n",
       "  '002226.SZ',\n",
       "  '002227.SZ',\n",
       "  '002228.SZ',\n",
       "  '002229.SZ',\n",
       "  '002230.SZ',\n",
       "  '002231.SZ',\n",
       "  '002232.SZ',\n",
       "  '002233.SZ',\n",
       "  '002234.SZ',\n",
       "  '002235.SZ',\n",
       "  '002236.SZ',\n",
       "  '002237.SZ',\n",
       "  '002238.SZ',\n",
       "  '002239.SZ',\n",
       "  '002240.SZ',\n",
       "  '002241.SZ',\n",
       "  '002242.SZ',\n",
       "  '002243.SZ',\n",
       "  '002244.SZ',\n",
       "  '002245.SZ',\n",
       "  '002246.SZ',\n",
       "  '002247.SZ',\n",
       "  '002248.SZ',\n",
       "  '002249.SZ',\n",
       "  '002250.SZ',\n",
       "  '002251.SZ',\n",
       "  '002252.SZ',\n",
       "  '002253.SZ',\n",
       "  '002254.SZ',\n",
       "  '002255.SZ',\n",
       "  '002256.SZ',\n",
       "  '002258.SZ',\n",
       "  '002259.SZ',\n",
       "  '002261.SZ',\n",
       "  '002262.SZ',\n",
       "  '002264.SZ',\n",
       "  '002265.SZ',\n",
       "  '002266.SZ',\n",
       "  '002267.SZ',\n",
       "  '002268.SZ',\n",
       "  '002269.SZ',\n",
       "  '002270.SZ',\n",
       "  '002271.SZ',\n",
       "  '002272.SZ',\n",
       "  '002273.SZ',\n",
       "  '002274.SZ',\n",
       "  '002275.SZ',\n",
       "  '002276.SZ',\n",
       "  '002277.SZ',\n",
       "  '002278.SZ',\n",
       "  '002279.SZ',\n",
       "  '002280.SZ',\n",
       "  '002281.SZ',\n",
       "  '002282.SZ',\n",
       "  '002283.SZ',\n",
       "  '002284.SZ',\n",
       "  '002285.SZ',\n",
       "  '002286.SZ',\n",
       "  '002287.SZ',\n",
       "  '002288.SZ',\n",
       "  '002289.SZ',\n",
       "  '002290.SZ',\n",
       "  '002291.SZ',\n",
       "  '002292.SZ',\n",
       "  '002293.SZ',\n",
       "  '002294.SZ',\n",
       "  '002295.SZ',\n",
       "  '002296.SZ',\n",
       "  '002297.SZ',\n",
       "  '002298.SZ',\n",
       "  '002299.SZ',\n",
       "  '002300.SZ',\n",
       "  '002301.SZ',\n",
       "  '002302.SZ',\n",
       "  '002303.SZ',\n",
       "  '002304.SZ',\n",
       "  '002305.SZ',\n",
       "  '002306.SZ',\n",
       "  '002307.SZ',\n",
       "  '002308.SZ',\n",
       "  '002309.SZ',\n",
       "  '002310.SZ',\n",
       "  '002311.SZ',\n",
       "  '002312.SZ',\n",
       "  '002313.SZ',\n",
       "  '002314.SZ',\n",
       "  '002315.SZ',\n",
       "  '002316.SZ',\n",
       "  '002317.SZ',\n",
       "  '002318.SZ',\n",
       "  '002319.SZ',\n",
       "  '002320.SZ',\n",
       "  '002321.SZ',\n",
       "  '002322.SZ',\n",
       "  '002324.SZ',\n",
       "  '002325.SZ',\n",
       "  '002326.SZ',\n",
       "  '002327.SZ',\n",
       "  '002328.SZ',\n",
       "  '002329.SZ',\n",
       "  '002330.SZ',\n",
       "  '002331.SZ',\n",
       "  '002332.SZ',\n",
       "  '002333.SZ',\n",
       "  '002334.SZ',\n",
       "  '002335.SZ',\n",
       "  '002336.SZ',\n",
       "  '002337.SZ',\n",
       "  '002339.SZ',\n",
       "  '002340.SZ',\n",
       "  '002341.SZ',\n",
       "  '002342.SZ',\n",
       "  '002343.SZ',\n",
       "  '002344.SZ',\n",
       "  '002345.SZ',\n",
       "  '002346.SZ',\n",
       "  '002347.SZ',\n",
       "  '002348.SZ',\n",
       "  '002349.SZ',\n",
       "  '002350.SZ',\n",
       "  '002351.SZ',\n",
       "  '002352.SZ',\n",
       "  '002353.SZ',\n",
       "  '002354.SZ',\n",
       "  '002355.SZ',\n",
       "  '002356.SZ',\n",
       "  '002357.SZ',\n",
       "  '002358.SZ',\n",
       "  '002359.SZ',\n",
       "  '002360.SZ',\n",
       "  '002361.SZ',\n",
       "  '002362.SZ',\n",
       "  '002363.SZ',\n",
       "  '002364.SZ',\n",
       "  '002365.SZ',\n",
       "  '002366.SZ',\n",
       "  '002367.SZ',\n",
       "  '002368.SZ',\n",
       "  '002369.SZ',\n",
       "  '002370.SZ',\n",
       "  '002371.SZ',\n",
       "  '002372.SZ',\n",
       "  '002373.SZ',\n",
       "  '002374.SZ',\n",
       "  '002375.SZ',\n",
       "  '002376.SZ',\n",
       "  '002377.SZ',\n",
       "  '002378.SZ',\n",
       "  '002379.SZ',\n",
       "  '002380.SZ',\n",
       "  '002381.SZ',\n",
       "  '002382.SZ',\n",
       "  '002383.SZ',\n",
       "  '002384.SZ',\n",
       "  '002385.SZ',\n",
       "  '002386.SZ',\n",
       "  '002387.SZ',\n",
       "  '002388.SZ',\n",
       "  '002389.SZ',\n",
       "  '002390.SZ',\n",
       "  '002391.SZ',\n",
       "  '002392.SZ',\n",
       "  '002393.SZ',\n",
       "  '002394.SZ',\n",
       "  '002395.SZ',\n",
       "  '002396.SZ',\n",
       "  '002397.SZ',\n",
       "  '002398.SZ',\n",
       "  '002399.SZ',\n",
       "  '002400.SZ',\n",
       "  '002401.SZ',\n",
       "  '002402.SZ',\n",
       "  '002403.SZ',\n",
       "  '002404.SZ',\n",
       "  '002405.SZ',\n",
       "  '002406.SZ',\n",
       "  '002407.SZ',\n",
       "  '002408.SZ',\n",
       "  '002409.SZ',\n",
       "  '002410.SZ',\n",
       "  '002411.SZ',\n",
       "  '002412.SZ',\n",
       "  '002413.SZ',\n",
       "  '002414.SZ',\n",
       "  '002415.SZ',\n",
       "  '002416.SZ',\n",
       "  '002417.SZ',\n",
       "  '002418.SZ',\n",
       "  '002419.SZ',\n",
       "  '002420.SZ',\n",
       "  '002421.SZ',\n",
       "  '002422.SZ',\n",
       "  '002423.SZ',\n",
       "  '002424.SZ',\n",
       "  '002425.SZ',\n",
       "  '002426.SZ',\n",
       "  '002427.SZ',\n",
       "  '002428.SZ',\n",
       "  '002429.SZ',\n",
       "  '002430.SZ',\n",
       "  '002431.SZ',\n",
       "  '002432.SZ',\n",
       "  '002433.SZ',\n",
       "  '002434.SZ',\n",
       "  '002435.SZ',\n",
       "  '002436.SZ',\n",
       "  '002437.SZ',\n",
       "  '002438.SZ',\n",
       "  '002439.SZ',\n",
       "  '002440.SZ',\n",
       "  '002441.SZ',\n",
       "  '002442.SZ',\n",
       "  '002443.SZ',\n",
       "  '002444.SZ',\n",
       "  '002445.SZ',\n",
       "  '002446.SZ',\n",
       "  '002447.SZ',\n",
       "  '002448.SZ',\n",
       "  '002449.SZ',\n",
       "  '002450.SZ',\n",
       "  '002451.SZ',\n",
       "  '002452.SZ',\n",
       "  '002453.SZ',\n",
       "  '002454.SZ',\n",
       "  '002455.SZ',\n",
       "  '002456.SZ',\n",
       "  '002457.SZ',\n",
       "  '002458.SZ',\n",
       "  '002459.SZ',\n",
       "  '002460.SZ',\n",
       "  '002461.SZ',\n",
       "  '002462.SZ',\n",
       "  '002463.SZ',\n",
       "  '002464.SZ',\n",
       "  '002465.SZ',\n",
       "  '002466.SZ',\n",
       "  '002467.SZ',\n",
       "  '002468.SZ',\n",
       "  '002469.SZ',\n",
       "  '002470.SZ',\n",
       "  '002471.SZ',\n",
       "  '002472.SZ',\n",
       "  '002473.SZ',\n",
       "  '002474.SZ',\n",
       "  '002475.SZ',\n",
       "  '002476.SZ',\n",
       "  '002477.SZ',\n",
       "  '002478.SZ',\n",
       "  '002479.SZ',\n",
       "  '002480.SZ',\n",
       "  '002481.SZ',\n",
       "  '002482.SZ',\n",
       "  '002483.SZ',\n",
       "  '002484.SZ',\n",
       "  '002485.SZ',\n",
       "  '002486.SZ',\n",
       "  '002487.SZ',\n",
       "  '002488.SZ',\n",
       "  '002489.SZ',\n",
       "  '002490.SZ',\n",
       "  '002491.SZ',\n",
       "  '002492.SZ',\n",
       "  '002493.SZ',\n",
       "  '002494.SZ',\n",
       "  '002495.SZ',\n",
       "  '002496.SZ',\n",
       "  '002497.SZ',\n",
       "  '002498.SZ',\n",
       "  '002499.SZ',\n",
       "  '002500.SZ',\n",
       "  '002501.SZ',\n",
       "  '002502.SZ',\n",
       "  '002503.SZ',\n",
       "  '002504.SZ',\n",
       "  '002505.SZ',\n",
       "  '002506.SZ',\n",
       "  '002507.SZ',\n",
       "  '002508.SZ',\n",
       "  '002509.SZ',\n",
       "  '002510.SZ',\n",
       "  '002511.SZ',\n",
       "  '002512.SZ',\n",
       "  '002513.SZ',\n",
       "  '002514.SZ',\n",
       "  '002515.SZ',\n",
       "  '002516.SZ',\n",
       "  '002517.SZ',\n",
       "  '002518.SZ',\n",
       "  '002519.SZ',\n",
       "  '002520.SZ',\n",
       "  '002521.SZ',\n",
       "  '002522.SZ',\n",
       "  '002523.SZ',\n",
       "  '002524.SZ',\n",
       "  '002526.SZ',\n",
       "  '002527.SZ',\n",
       "  '002528.SZ',\n",
       "  '002529.SZ',\n",
       "  '002530.SZ',\n",
       "  '002531.SZ',\n",
       "  '002532.SZ',\n",
       "  '002533.SZ',\n",
       "  '002534.SZ',\n",
       "  '002535.SZ',\n",
       "  '002536.SZ',\n",
       "  '002537.SZ',\n",
       "  '002538.SZ',\n",
       "  '002539.SZ',\n",
       "  '002540.SZ',\n",
       "  '002541.SZ',\n",
       "  '002542.SZ',\n",
       "  '002543.SZ',\n",
       "  '002544.SZ',\n",
       "  '002545.SZ',\n",
       "  '002546.SZ',\n",
       "  '002547.SZ',\n",
       "  '002548.SZ',\n",
       "  '002549.SZ',\n",
       "  '002550.SZ',\n",
       "  '002551.SZ',\n",
       "  ...],\n",
       " '2016-09-13': '000029.SZ',\n",
       " '2019-05-27': '000062.SZ',\n",
       " '2019-05-07': '000418.SZ',\n",
       " '2019-05-17': '002049.SZ',\n",
       " '2019-04-30': '002263.SZ',\n",
       " '2018-08-16': '002323.SZ',\n",
       " '2019-05-24': ['002338.SZ', '600126.SH'],\n",
       " '2019-05-21': '300173.SZ',\n",
       " '2019-04-25': '600074.SH',\n",
       " '2015-12-04': '600145.SH',\n",
       " '2019-05-30': '600353.SH',\n",
       " '2016-12-23': '600485.SH',\n",
       " '2019-04-29': '600610.SH',\n",
       " '2019-05-29': '600844.SH'}"
      ]
     },
     "execution_count": 120,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 提取最后更新记录时间集\n",
    "list_record_last_date = valuation_data_last_record.index.unique()\n",
    "dic_date_stocks = {}\n",
    "for last_date in list_record_last_date:\n",
    "    # same_last_update_stock是具有相同最后更新日期的stock集合\n",
    "    same_last_update_stock = valuation_data_last_record.loc[last_date, [\"ts_code\"]][\"ts_code\"]\n",
    "    if isinstance(same_last_update_stock, str):\n",
    "        dic_date_stocks[str(last_date.date())] = valuation_data_last_record.loc[last_date, [\"ts_code\"]][\"ts_code\"]\n",
    "    else:\n",
    "        dic_date_stocks[str(last_date.date())] = valuation_data_last_record.loc[last_date, [\"ts_code\"]][\"ts_code\"].tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2019-05-31\n",
      "['000001.SZ', '000002.SZ', '000004.SZ', '000005.SZ', '000006.SZ', '000007.SZ', '000008.SZ', '000009.SZ', '000010.SZ', '000011.SZ', '000012.SZ', '000014.SZ', '000016.SZ', '000017.SZ', '000018.SZ', '000019.SZ', '000020.SZ', '000021.SZ', '000023.SZ', '000025.SZ', '000026.SZ', '000027.SZ', '000028.SZ', '000030.SZ', '000031.SZ', '000032.SZ', '000034.SZ', '000035.SZ', '000036.SZ', '000037.SZ', '000038.SZ', '000039.SZ', '000040.SZ', '000042.SZ', '000043.SZ', '000045.SZ', '000046.SZ', '000048.SZ', '000049.SZ', '000050.SZ', '000055.SZ', '000056.SZ', '000058.SZ', '000059.SZ', '000060.SZ', '000061.SZ', '000063.SZ', '000065.SZ', '000066.SZ', '000068.SZ', '000069.SZ', '000070.SZ', '000078.SZ', '000088.SZ', '000089.SZ', '000090.SZ', '000096.SZ', '000099.SZ', '000100.SZ', '000150.SZ', '000151.SZ', '000153.SZ', '000155.SZ', '000156.SZ', '000157.SZ', '000158.SZ', '000159.SZ', '000166.SZ', '000301.SZ', '000333.SZ', '000338.SZ', '000400.SZ', '000401.SZ', '000402.SZ', '000403.SZ', '000404.SZ', '000407.SZ', '000408.SZ', '000409.SZ', '000410.SZ', '000411.SZ', '000413.SZ', '000415.SZ', '000416.SZ', '000417.SZ', '000419.SZ', '000420.SZ', '000421.SZ', '000422.SZ', '000423.SZ', '000425.SZ', '000426.SZ', '000428.SZ', '000429.SZ', '000430.SZ', '000488.SZ', '000498.SZ', '000501.SZ', '000502.SZ', '000503.SZ', '000504.SZ', '000505.SZ', '000506.SZ', '000507.SZ', '000509.SZ', '000510.SZ', '000513.SZ', '000514.SZ', '000516.SZ', '000517.SZ', '000518.SZ', '000519.SZ', '000520.SZ', '000521.SZ', '000523.SZ', '000524.SZ', '000525.SZ', '000526.SZ', '000528.SZ', '000529.SZ', '000530.SZ', '000531.SZ', '000532.SZ', '000533.SZ', '000534.SZ', '000536.SZ', '000537.SZ', '000538.SZ', '000539.SZ', '000540.SZ', '000541.SZ', '000543.SZ', '000544.SZ', '000545.SZ', '000546.SZ', '000547.SZ', '000548.SZ', '000550.SZ', '000551.SZ', '000552.SZ', '000553.SZ', '000554.SZ', '000555.SZ', '000557.SZ', '000558.SZ', '000559.SZ', '000560.SZ', '000561.SZ', '000563.SZ', '000564.SZ', '000565.SZ', '000566.SZ', '000567.SZ', '000568.SZ', '000570.SZ', '000571.SZ', '000572.SZ', '000573.SZ', '000576.SZ', '000581.SZ', '000582.SZ', '000584.SZ', '000585.SZ', '000586.SZ', '000587.SZ', '000589.SZ', '000590.SZ', '000591.SZ', '000592.SZ', '000593.SZ', '000595.SZ', '000596.SZ', '000597.SZ', '000598.SZ', '000599.SZ', '000600.SZ', '000601.SZ', '000603.SZ', '000605.SZ', '000606.SZ', '000607.SZ', '000608.SZ', '000609.SZ', '000610.SZ', '000611.SZ', '000612.SZ', '000613.SZ', '000615.SZ', '000616.SZ', '000617.SZ', '000619.SZ', '000620.SZ', '000622.SZ', '000623.SZ', '000625.SZ', '000626.SZ', '000627.SZ', '000628.SZ', '000629.SZ', '000630.SZ', '000631.SZ', '000632.SZ', '000633.SZ', '000635.SZ', '000636.SZ', '000637.SZ', '000638.SZ', '000639.SZ', '000650.SZ', '000651.SZ', '000652.SZ', '000655.SZ', '000656.SZ', '000657.SZ', '000659.SZ', '000661.SZ', '000662.SZ', '000663.SZ', '000665.SZ', '000666.SZ', '000667.SZ', '000668.SZ', '000669.SZ', '000670.SZ', '000671.SZ', '000672.SZ', '000673.SZ', '000676.SZ', '000677.SZ', '000678.SZ', '000679.SZ', '000680.SZ', '000681.SZ', '000682.SZ', '000683.SZ', '000685.SZ', '000686.SZ', '000687.SZ', '000688.SZ', '000690.SZ', '000691.SZ', '000692.SZ', '000695.SZ', '000697.SZ', '000698.SZ', '000700.SZ', '000701.SZ', '000702.SZ', '000703.SZ', '000705.SZ', '000707.SZ', '000708.SZ', '000709.SZ', '000710.SZ', '000711.SZ', '000712.SZ', '000713.SZ', '000715.SZ', '000716.SZ', '000717.SZ', '000718.SZ', '000719.SZ', '000720.SZ', '000721.SZ', '000722.SZ', '000723.SZ', '000725.SZ', '000726.SZ', '000727.SZ', '000728.SZ', '000729.SZ', '000731.SZ', '000732.SZ', '000733.SZ', '000735.SZ', '000736.SZ', '000737.SZ', '000738.SZ', '000739.SZ', '000750.SZ', '000751.SZ', '000752.SZ', '000753.SZ', '000755.SZ', '000756.SZ', '000757.SZ', '000758.SZ', '000759.SZ', '000760.SZ', '000761.SZ', '000762.SZ', '000766.SZ', '000767.SZ', '000768.SZ', '000776.SZ', '000777.SZ', '000778.SZ', '000779.SZ', '000780.SZ', '000782.SZ', '000783.SZ', '000785.SZ', '000786.SZ', '000788.SZ', '000789.SZ', '000790.SZ', '000791.SZ', '000792.SZ', '000793.SZ', '000795.SZ', '000796.SZ', '000797.SZ', '000798.SZ', '000799.SZ', '000800.SZ', '000801.SZ', '000802.SZ', '000803.SZ', '000806.SZ', '000807.SZ', '000809.SZ', '000810.SZ', '000811.SZ', '000812.SZ', '000813.SZ', '000815.SZ', '000816.SZ', '000818.SZ', '000819.SZ', '000820.SZ', '000821.SZ', '000822.SZ', '000823.SZ', '000825.SZ', '000826.SZ', '000828.SZ', '000829.SZ', '000830.SZ', '000831.SZ', '000833.SZ', '000835.SZ', '000836.SZ', '000837.SZ', '000838.SZ', '000839.SZ', '000848.SZ', '000850.SZ', '000851.SZ', '000852.SZ', '000856.SZ', '000858.SZ', '000859.SZ', '000860.SZ', '000861.SZ', '000862.SZ', '000863.SZ', '000868.SZ', '000869.SZ', '000875.SZ', '000876.SZ', '000877.SZ', '000878.SZ', '000880.SZ', '000881.SZ', '000882.SZ', '000883.SZ', '000885.SZ', '000886.SZ', '000887.SZ', '000888.SZ', '000889.SZ', '000890.SZ', '000892.SZ', '000893.SZ', '000895.SZ', '000897.SZ', '000898.SZ', '000899.SZ', '000900.SZ', '000901.SZ', '000902.SZ', '000903.SZ', '000905.SZ', '000906.SZ', '000908.SZ', '000909.SZ', '000910.SZ', '000911.SZ', '000912.SZ', '000913.SZ', '000915.SZ', '000917.SZ', '000918.SZ', '000919.SZ', '000920.SZ', '000921.SZ', '000922.SZ', '000923.SZ', '000925.SZ', '000926.SZ', '000927.SZ', '000928.SZ', '000929.SZ', '000930.SZ', '000931.SZ', '000932.SZ', '000933.SZ', '000935.SZ', '000936.SZ', '000937.SZ', '000938.SZ', '000948.SZ', '000949.SZ', '000950.SZ', '000951.SZ', '000952.SZ', '000953.SZ', '000955.SZ', '000957.SZ', '000958.SZ', '000959.SZ', '000960.SZ', '000961.SZ', '000962.SZ', '000963.SZ', '000965.SZ', '000966.SZ', '000967.SZ', '000968.SZ', '000969.SZ', '000970.SZ', '000971.SZ', '000972.SZ', '000973.SZ', '000975.SZ', '000976.SZ', '000977.SZ', '000978.SZ', '000980.SZ', '000981.SZ', '000982.SZ', '000983.SZ', '000985.SZ', '000987.SZ', '000988.SZ', '000989.SZ', '000990.SZ', '000993.SZ', '000996.SZ', '000997.SZ', '000998.SZ', '000999.SZ', '001696.SZ', '001872.SZ', '001896.SZ', '001965.SZ', '001979.SZ', '002001.SZ', '002002.SZ', '002003.SZ', '002004.SZ', '002005.SZ', '002006.SZ', '002007.SZ', '002008.SZ', '002009.SZ', '002010.SZ', '002011.SZ', '002012.SZ', '002013.SZ', '002014.SZ', '002015.SZ', '002016.SZ', '002017.SZ', '002018.SZ', '002019.SZ', '002020.SZ', '002021.SZ', '002022.SZ', '002023.SZ', '002024.SZ', '002025.SZ', '002026.SZ', '002027.SZ', '002028.SZ', '002029.SZ', '002030.SZ', '002031.SZ', '002032.SZ', '002033.SZ', '002034.SZ', '002035.SZ', '002036.SZ', '002037.SZ', '002038.SZ', '002039.SZ', '002040.SZ', '002041.SZ', '002042.SZ', '002043.SZ', '002044.SZ', '002045.SZ', '002046.SZ', '002047.SZ', '002048.SZ', '002050.SZ', '002051.SZ', '002052.SZ', '002053.SZ', '002054.SZ', '002055.SZ', '002056.SZ', '002057.SZ', '002058.SZ', '002059.SZ', '002060.SZ', '002061.SZ', '002062.SZ', '002063.SZ', '002064.SZ', '002065.SZ', '002066.SZ', '002067.SZ', '002068.SZ', '002069.SZ', '002071.SZ', '002072.SZ', '002073.SZ', '002074.SZ', '002075.SZ', '002076.SZ', '002077.SZ', '002078.SZ', '002079.SZ', '002080.SZ', '002081.SZ', '002082.SZ', '002083.SZ', '002084.SZ', '002085.SZ', '002086.SZ', '002087.SZ', '002088.SZ', '002089.SZ', '002090.SZ', '002091.SZ', '002092.SZ', '002093.SZ', '002094.SZ', '002095.SZ', '002096.SZ', '002097.SZ', '002098.SZ', '002099.SZ', '002100.SZ', '002101.SZ', '002102.SZ', '002103.SZ', '002104.SZ', '002105.SZ', '002106.SZ', '002107.SZ', '002108.SZ', '002109.SZ', '002110.SZ', '002111.SZ', '002112.SZ', '002113.SZ', '002114.SZ', '002115.SZ', '002116.SZ', '002117.SZ', '002118.SZ', '002119.SZ', '002120.SZ', '002121.SZ', '002122.SZ', '002123.SZ', '002124.SZ', '002125.SZ', '002126.SZ', '002127.SZ', '002128.SZ', '002129.SZ', '002130.SZ', '002131.SZ', '002132.SZ', '002133.SZ', '002134.SZ', '002135.SZ', '002136.SZ', '002137.SZ', '002138.SZ', '002139.SZ', '002140.SZ', '002141.SZ', '002142.SZ', '002143.SZ', '002144.SZ', '002145.SZ', '002146.SZ', '002147.SZ', '002148.SZ', '002149.SZ', '002150.SZ', '002151.SZ', '002152.SZ', '002153.SZ', '002154.SZ', '002155.SZ', '002156.SZ', '002157.SZ', '002158.SZ', '002159.SZ', '002160.SZ', '002161.SZ', '002162.SZ', '002163.SZ', '002164.SZ', '002165.SZ', '002166.SZ', '002167.SZ', '002168.SZ', '002169.SZ', '002170.SZ', '002171.SZ', '002172.SZ', '002173.SZ', '002174.SZ', '002175.SZ', '002176.SZ', '002177.SZ', '002178.SZ', '002179.SZ', '002180.SZ', '002181.SZ', '002182.SZ', '002183.SZ', '002184.SZ', '002185.SZ', '002186.SZ', '002187.SZ', '002188.SZ', '002189.SZ', '002190.SZ', '002191.SZ', '002192.SZ', '002193.SZ', '002194.SZ', '002195.SZ', '002196.SZ', '002197.SZ', '002198.SZ', '002199.SZ', '002200.SZ', '002201.SZ', '002202.SZ', '002203.SZ', '002204.SZ', '002205.SZ', '002206.SZ', '002207.SZ', '002208.SZ', '002209.SZ', '002210.SZ', '002211.SZ', '002212.SZ', '002213.SZ', '002214.SZ', '002215.SZ', '002216.SZ', '002217.SZ', '002218.SZ', '002219.SZ', '002220.SZ', '002221.SZ', '002222.SZ', '002223.SZ', '002224.SZ', '002225.SZ', '002226.SZ', '002227.SZ', '002228.SZ', '002229.SZ', '002230.SZ', '002231.SZ', '002232.SZ', '002233.SZ', '002234.SZ', '002235.SZ', '002236.SZ', '002237.SZ', '002238.SZ', '002239.SZ', '002240.SZ', '002241.SZ', '002242.SZ', '002243.SZ', '002244.SZ', '002245.SZ', '002246.SZ', '002247.SZ', '002248.SZ', '002249.SZ', '002250.SZ', '002251.SZ', '002252.SZ', '002253.SZ', '002254.SZ', '002255.SZ', '002256.SZ', '002258.SZ', '002259.SZ', '002261.SZ', '002262.SZ', '002264.SZ', '002265.SZ', '002266.SZ', '002267.SZ', '002268.SZ', '002269.SZ', '002270.SZ', '002271.SZ', '002272.SZ', '002273.SZ', '002274.SZ', '002275.SZ', '002276.SZ', '002277.SZ', '002278.SZ', '002279.SZ', '002280.SZ', '002281.SZ', '002282.SZ', '002283.SZ', '002284.SZ', '002285.SZ', '002286.SZ', '002287.SZ', '002288.SZ', '002289.SZ', '002290.SZ', '002291.SZ', '002292.SZ', '002293.SZ', '002294.SZ', '002295.SZ', '002296.SZ', '002297.SZ', '002298.SZ', '002299.SZ', '002300.SZ', '002301.SZ', '002302.SZ', '002303.SZ', '002304.SZ', '002305.SZ', '002306.SZ', '002307.SZ', '002308.SZ', '002309.SZ', '002310.SZ', '002311.SZ', '002312.SZ', '002313.SZ', '002314.SZ', '002315.SZ', '002316.SZ', '002317.SZ', '002318.SZ', '002319.SZ', '002320.SZ', '002321.SZ', '002322.SZ', '002324.SZ', '002325.SZ', '002326.SZ', '002327.SZ', '002328.SZ', '002329.SZ', '002330.SZ', '002331.SZ', '002332.SZ', '002333.SZ', '002334.SZ', '002335.SZ', '002336.SZ', '002337.SZ', '002339.SZ', '002340.SZ', '002341.SZ', '002342.SZ', '002343.SZ', '002344.SZ', '002345.SZ', '002346.SZ', '002347.SZ', '002348.SZ', '002349.SZ', '002350.SZ', '002351.SZ', '002352.SZ', '002353.SZ', '002354.SZ', '002355.SZ', '002356.SZ', '002357.SZ', '002358.SZ', '002359.SZ', '002360.SZ', '002361.SZ', '002362.SZ', '002363.SZ', '002364.SZ', '002365.SZ', '002366.SZ', '002367.SZ', '002368.SZ', '002369.SZ', '002370.SZ', '002371.SZ', '002372.SZ', '002373.SZ', '002374.SZ', '002375.SZ', '002376.SZ', '002377.SZ', '002378.SZ', '002379.SZ', '002380.SZ', '002381.SZ', '002382.SZ', '002383.SZ', '002384.SZ', '002385.SZ', '002386.SZ', '002387.SZ', '002388.SZ', '002389.SZ', '002390.SZ', '002391.SZ', '002392.SZ', '002393.SZ', '002394.SZ', '002395.SZ', '002396.SZ', '002397.SZ', '002398.SZ', '002399.SZ', '002400.SZ', '002401.SZ', '002402.SZ', '002403.SZ', '002404.SZ', '002405.SZ', '002406.SZ', '002407.SZ', '002408.SZ', '002409.SZ', '002410.SZ', '002411.SZ', '002412.SZ', '002413.SZ', '002414.SZ', '002415.SZ', '002416.SZ', '002417.SZ', '002418.SZ', '002419.SZ', '002420.SZ', '002421.SZ', '002422.SZ', '002423.SZ', '002424.SZ', '002425.SZ', '002426.SZ', '002427.SZ', '002428.SZ', '002429.SZ', '002430.SZ', '002431.SZ', '002432.SZ', '002433.SZ', '002434.SZ', '002435.SZ', '002436.SZ', '002437.SZ', '002438.SZ', '002439.SZ', '002440.SZ', '002441.SZ', '002442.SZ', '002443.SZ', '002444.SZ', '002445.SZ', '002446.SZ', '002447.SZ', '002448.SZ', '002449.SZ', '002450.SZ', '002451.SZ', '002452.SZ', '002453.SZ', '002454.SZ', '002455.SZ', '002456.SZ', '002457.SZ', '002458.SZ', '002459.SZ', '002460.SZ', '002461.SZ', '002462.SZ', '002463.SZ', '002464.SZ', '002465.SZ', '002466.SZ', '002467.SZ', '002468.SZ', '002469.SZ', '002470.SZ', '002471.SZ', '002472.SZ', '002473.SZ', '002474.SZ', '002475.SZ', '002476.SZ', '002477.SZ', '002478.SZ', '002479.SZ', '002480.SZ', '002481.SZ', '002482.SZ', '002483.SZ', '002484.SZ', '002485.SZ', '002486.SZ', '002487.SZ', '002488.SZ', '002489.SZ', '002490.SZ', '002491.SZ', '002492.SZ', '002493.SZ', '002494.SZ', '002495.SZ', '002496.SZ', '002497.SZ', '002498.SZ', '002499.SZ', '002500.SZ', '002501.SZ', '002502.SZ', '002503.SZ', '002504.SZ', '002505.SZ', '002506.SZ', '002507.SZ', '002508.SZ', '002509.SZ', '002510.SZ', '002511.SZ', '002512.SZ', '002513.SZ', '002514.SZ', '002515.SZ', '002516.SZ', '002517.SZ', '002518.SZ', '002519.SZ', '002520.SZ', '002521.SZ', '002522.SZ', '002523.SZ', '002524.SZ', '002526.SZ', '002527.SZ', '002528.SZ', '002529.SZ', '002530.SZ', '002531.SZ', '002532.SZ', '002533.SZ', '002534.SZ', '002535.SZ', '002536.SZ', '002537.SZ', '002538.SZ', '002539.SZ', '002540.SZ', '002541.SZ', '002542.SZ', '002543.SZ', '002544.SZ', '002545.SZ', '002546.SZ', '002547.SZ', '002548.SZ', '002549.SZ', '002550.SZ', '002551.SZ', '002552.SZ', '002553.SZ', '002554.SZ', '002555.SZ', '002556.SZ', '002557.SZ', '002558.SZ', '002559.SZ', '002560.SZ', '002561.SZ', '002562.SZ', '002563.SZ', '002564.SZ', '002565.SZ', '002566.SZ', '002567.SZ', '002568.SZ', '002569.SZ', '002570.SZ', '002571.SZ', '002572.SZ', '002573.SZ', '002574.SZ', '002575.SZ', '002576.SZ', '002577.SZ', '002578.SZ', '002579.SZ', '002580.SZ', '002581.SZ', '002582.SZ', '002583.SZ', '002584.SZ', '002585.SZ', '002586.SZ', '002587.SZ', '002588.SZ', '002589.SZ', '002590.SZ', '002591.SZ', '002592.SZ', '002593.SZ', '002594.SZ', '002595.SZ', '002596.SZ', '002597.SZ', '002598.SZ', '002599.SZ', '002600.SZ', '002601.SZ', '002602.SZ', '002603.SZ', '002605.SZ', '002606.SZ', '002607.SZ', '002608.SZ', '002609.SZ', '002610.SZ', '002611.SZ', '002612.SZ', '002613.SZ', '002614.SZ', '002615.SZ', '002616.SZ', '002617.SZ', '002618.SZ', '002619.SZ', '002620.SZ', '002621.SZ', '002622.SZ', '002623.SZ', '002624.SZ', '002625.SZ', '002626.SZ', '002627.SZ', '002628.SZ', '002629.SZ', '002630.SZ', '002631.SZ', '002632.SZ', '002633.SZ', '002634.SZ', '002635.SZ', '002636.SZ', '002637.SZ', '002638.SZ', '002639.SZ', '002640.SZ', '002641.SZ', '002642.SZ', '002643.SZ', '002644.SZ', '002645.SZ', '002646.SZ', '002647.SZ', '002648.SZ', '002649.SZ', '002650.SZ', '002651.SZ', '002652.SZ', '002653.SZ', '002654.SZ', '002655.SZ', '002656.SZ', '002657.SZ', '002658.SZ', '002659.SZ', '002660.SZ', '002661.SZ', '002662.SZ', '002663.SZ', '002664.SZ', '002665.SZ', '002666.SZ', '002667.SZ', '002668.SZ', '002669.SZ', '002670.SZ', '002671.SZ', '002672.SZ', '002673.SZ', '002674.SZ', '002675.SZ', '002676.SZ', '002677.SZ', '002678.SZ', '002679.SZ', '002681.SZ', '002682.SZ', '002683.SZ', '002684.SZ', '002685.SZ', '002686.SZ', '002687.SZ', '002688.SZ', '002689.SZ', '002690.SZ', '002691.SZ', '002692.SZ', '002693.SZ', '002694.SZ', '002695.SZ', '002696.SZ', '002697.SZ', '002698.SZ', '002699.SZ', '002700.SZ', '002701.SZ', '002702.SZ', '002703.SZ', '002705.SZ', '002706.SZ', '002707.SZ', '002708.SZ', '002709.SZ', '002711.SZ', '002712.SZ', '002713.SZ', '002714.SZ', '002715.SZ', '002716.SZ', '002717.SZ', '002718.SZ', '002719.SZ', '002721.SZ', '002722.SZ', '002723.SZ', '002724.SZ', '002725.SZ', '002726.SZ', '002727.SZ', '002728.SZ', '002729.SZ', '002730.SZ', '002731.SZ', '002732.SZ', '002733.SZ', '002734.SZ', '002735.SZ', '002736.SZ', '002737.SZ', '002738.SZ', '002739.SZ', '002740.SZ', '002741.SZ', '002742.SZ', '002743.SZ', '002745.SZ', '002746.SZ', '002747.SZ', '002748.SZ', '002749.SZ', '002750.SZ', '002751.SZ', '002752.SZ', '002753.SZ', '002755.SZ', '002756.SZ', '002757.SZ', '002758.SZ', '002759.SZ', '002760.SZ', '002761.SZ', '002762.SZ', '002763.SZ', '002765.SZ', '002766.SZ', '002767.SZ', '002768.SZ', '002769.SZ', '002770.SZ', '002771.SZ', '002772.SZ', '002773.SZ', '002774.SZ', '002775.SZ', '002776.SZ', '002777.SZ', '002778.SZ', '002779.SZ', '002780.SZ', '002781.SZ', '002782.SZ', '002783.SZ', '002785.SZ', '002786.SZ', '002787.SZ', '002788.SZ', '002789.SZ', '002790.SZ', '002791.SZ', '002792.SZ', '002793.SZ', '002795.SZ', '002796.SZ', '002797.SZ', '002798.SZ', '002799.SZ', '002800.SZ', '002801.SZ', '002802.SZ', '002803.SZ', '002805.SZ', '002806.SZ', '002807.SZ', '002808.SZ', '002809.SZ', '002810.SZ', '002811.SZ', '002812.SZ', '002813.SZ', '002815.SZ', '002816.SZ', '002817.SZ', '002818.SZ', '002819.SZ', '002820.SZ', '002821.SZ', '002822.SZ', '002823.SZ', '002824.SZ', '002825.SZ', '002826.SZ', '002827.SZ', '002828.SZ', '002829.SZ', '002830.SZ', '002831.SZ', '002832.SZ', '002833.SZ', '002835.SZ', '002836.SZ', '002837.SZ', '002838.SZ', '002839.SZ', '002840.SZ', '002841.SZ', '002842.SZ', '002843.SZ', '002845.SZ', '002846.SZ', '002847.SZ', '002848.SZ', '002849.SZ', '002850.SZ', '002851.SZ', '002852.SZ', '002853.SZ', '002855.SZ', '002856.SZ', '002857.SZ', '002858.SZ', '002859.SZ', '002860.SZ', '002861.SZ', '002862.SZ', '002863.SZ', '002864.SZ', '002865.SZ', '002866.SZ', '002867.SZ', '002868.SZ', '002869.SZ', '002870.SZ', '002871.SZ', '002872.SZ', '002873.SZ', '002875.SZ', '002876.SZ', '002877.SZ', '002878.SZ', '002879.SZ', '002880.SZ', '002881.SZ', '002882.SZ', '002883.SZ', '002884.SZ', '002885.SZ', '002886.SZ', '002887.SZ', '002888.SZ', '002889.SZ', '002890.SZ', '002891.SZ', '002892.SZ', '002893.SZ', '002895.SZ', '002896.SZ', '002897.SZ', '002898.SZ', '002899.SZ', '002900.SZ', '002901.SZ', '002902.SZ', '002903.SZ', '002905.SZ', '002906.SZ', '002907.SZ', '002908.SZ', '002909.SZ', '002910.SZ', '002911.SZ', '002912.SZ', '002913.SZ', '002915.SZ', '002916.SZ', '002917.SZ', '002918.SZ', '002919.SZ', '002920.SZ', '002921.SZ', '002922.SZ', '002923.SZ', '002925.SZ', '002926.SZ', '002927.SZ', '002928.SZ', '002929.SZ', '002930.SZ', '002931.SZ', '002932.SZ', '002933.SZ', '002935.SZ', '002936.SZ', '002937.SZ', '002938.SZ', '002939.SZ', '002940.SZ', '002941.SZ', '002942.SZ', '002943.SZ', '002945.SZ', '002946.SZ', '002947.SZ', '002948.SZ', '002949.SZ', '002950.SZ', '002951.SZ', '002952.SZ', '002953.SZ', '002955.SZ', '002958.SZ', '300001.SZ', '300002.SZ', '300003.SZ', '300004.SZ', '300005.SZ', '300006.SZ', '300007.SZ', '300008.SZ', '300009.SZ', '300010.SZ', '300011.SZ', '300012.SZ', '300013.SZ', '300014.SZ', '300015.SZ', '300016.SZ', '300017.SZ', '300018.SZ', '300019.SZ', '300020.SZ', '300021.SZ', '300022.SZ', '300023.SZ', '300024.SZ', '300025.SZ', '300026.SZ', '300027.SZ', '300029.SZ', '300030.SZ', '300031.SZ', '300032.SZ', '300033.SZ', '300034.SZ', '300035.SZ', '300036.SZ', '300037.SZ', '300038.SZ', '300039.SZ', '300040.SZ', '300041.SZ', '300042.SZ', '300043.SZ', '300044.SZ', '300045.SZ', '300046.SZ', '300047.SZ', '300048.SZ', '300049.SZ', '300050.SZ', '300051.SZ', '300052.SZ', '300053.SZ', '300054.SZ', '300055.SZ', '300056.SZ', '300057.SZ', '300058.SZ', '300059.SZ', '300061.SZ', '300062.SZ', '300063.SZ', '300064.SZ', '300065.SZ', '300066.SZ', '300067.SZ', '300068.SZ', '300069.SZ', '300070.SZ', '300071.SZ', '300072.SZ', '300073.SZ', '300074.SZ', '300075.SZ', '300076.SZ', '300077.SZ', '300078.SZ', '300079.SZ', '300080.SZ', '300081.SZ', '300082.SZ', '300083.SZ', '300084.SZ', '300085.SZ', '300086.SZ', '300087.SZ', '300088.SZ', '300089.SZ', '300090.SZ', '300091.SZ', '300092.SZ', '300093.SZ', '300094.SZ', '300095.SZ', '300096.SZ', '300097.SZ', '300098.SZ', '300099.SZ', '300100.SZ', '300101.SZ', '300102.SZ', '300103.SZ', '300105.SZ', '300106.SZ', '300107.SZ', '300108.SZ', '300109.SZ', '300110.SZ', '300111.SZ', '300112.SZ', '300113.SZ', '300114.SZ', '300115.SZ', '300116.SZ', '300117.SZ', '300118.SZ', '300119.SZ', '300120.SZ', '300121.SZ', '300122.SZ', '300123.SZ', '300124.SZ', '300125.SZ', '300126.SZ', '300127.SZ', '300128.SZ', '300129.SZ', '300130.SZ', '300131.SZ', '300132.SZ', '300133.SZ', '300134.SZ', '300135.SZ', '300136.SZ', '300137.SZ', '300138.SZ', '300139.SZ', '300140.SZ', '300141.SZ', '300142.SZ', '300143.SZ', '300144.SZ', '300145.SZ', '300146.SZ', '300147.SZ', '300148.SZ', '300149.SZ', '300150.SZ', '300151.SZ', '300152.SZ', '300153.SZ', '300154.SZ', '300155.SZ', '300156.SZ', '300157.SZ', '300158.SZ', '300159.SZ', '300160.SZ', '300161.SZ', '300162.SZ', '300163.SZ', '300164.SZ', '300165.SZ', '300166.SZ', '300167.SZ', '300168.SZ', '300169.SZ', '300170.SZ', '300171.SZ', '300172.SZ', '300174.SZ', '300175.SZ', '300176.SZ', '300177.SZ', '300178.SZ', '300179.SZ', '300180.SZ', '300181.SZ', '300182.SZ', '300183.SZ', '300184.SZ', '300185.SZ', '300187.SZ', '300188.SZ', '300189.SZ', '300190.SZ', '300191.SZ', '300192.SZ', '300193.SZ', '300194.SZ', '300195.SZ', '300196.SZ', '300197.SZ', '300198.SZ', '300199.SZ', '300200.SZ', '300201.SZ', '300202.SZ', '300203.SZ', '300204.SZ', '300205.SZ', '300206.SZ', '300207.SZ', '300208.SZ', '300209.SZ', '300210.SZ', '300211.SZ', '300212.SZ', '300213.SZ', '300214.SZ', '300215.SZ', '300217.SZ', '300218.SZ', '300219.SZ', '300220.SZ', '300221.SZ', '300222.SZ', '300223.SZ', '300224.SZ', '300225.SZ', '300226.SZ', '300227.SZ', '300228.SZ', '300229.SZ', '300230.SZ', '300231.SZ', '300232.SZ', '300233.SZ', '300234.SZ', '300235.SZ', '300236.SZ', '300237.SZ', '300238.SZ', '300239.SZ', '300240.SZ', '300241.SZ', '300242.SZ', '300243.SZ', '300244.SZ', '300245.SZ', '300246.SZ', '300247.SZ', '300248.SZ', '300249.SZ', '300250.SZ', '300251.SZ', '300252.SZ', '300253.SZ', '300254.SZ', '300255.SZ', '300256.SZ', '300257.SZ', '300258.SZ', '300259.SZ', '300260.SZ', '300261.SZ', '300262.SZ', '300263.SZ', '300264.SZ', '300265.SZ', '300266.SZ', '300267.SZ', '300268.SZ', '300269.SZ', '300270.SZ', '300271.SZ', '300272.SZ', '300273.SZ', '300274.SZ', '300275.SZ', '300276.SZ', '300277.SZ', '300278.SZ', '300279.SZ', '300280.SZ', '300281.SZ', '300282.SZ', '300283.SZ', '300284.SZ', '300285.SZ', '300286.SZ', '300287.SZ', '300288.SZ', '300289.SZ', '300290.SZ', '300291.SZ', '300292.SZ', '300293.SZ', '300294.SZ', '300295.SZ', '300296.SZ', '300297.SZ', '300298.SZ', '300299.SZ', '300300.SZ', '300301.SZ', '300302.SZ', '300303.SZ', '300304.SZ', '300305.SZ', '300306.SZ', '300307.SZ', '300308.SZ', '300309.SZ', '300310.SZ', '300311.SZ', '300312.SZ', '300313.SZ', '300314.SZ', '300315.SZ', '300316.SZ', '300317.SZ', '300318.SZ', '300319.SZ', '300320.SZ', '300321.SZ', '300322.SZ', '300323.SZ', '300324.SZ', '300325.SZ', '300326.SZ', '300327.SZ', '300328.SZ', '300329.SZ', '300330.SZ', '300331.SZ', '300332.SZ', '300333.SZ', '300334.SZ', '300335.SZ', '300336.SZ', '300337.SZ', '300338.SZ', '300339.SZ', '300340.SZ', '300341.SZ', '300342.SZ', '300343.SZ', '300344.SZ', '300345.SZ', '300346.SZ', '300347.SZ', '300348.SZ', '300349.SZ', '300350.SZ', '300351.SZ', '300352.SZ', '300353.SZ', '300354.SZ', '300355.SZ', '300356.SZ', '300357.SZ', '300358.SZ', '300359.SZ', '300360.SZ', '300362.SZ', '300363.SZ', '300364.SZ', '300365.SZ', '300366.SZ', '300367.SZ', '300368.SZ', '300369.SZ', '300370.SZ', '300371.SZ', '300373.SZ', '300374.SZ', '300375.SZ', '300376.SZ', '300377.SZ', '300378.SZ', '300379.SZ', '300380.SZ', '300381.SZ', '300382.SZ', '300383.SZ', '300384.SZ', '300385.SZ', '300386.SZ', '300387.SZ', '300388.SZ', '300389.SZ', '300390.SZ', '300391.SZ', '300392.SZ', '300393.SZ', '300394.SZ', '300395.SZ', '300396.SZ', '300397.SZ', '300398.SZ', '300399.SZ', '300400.SZ', '300401.SZ', '300402.SZ', '300403.SZ', '300404.SZ', '300405.SZ', '300406.SZ', '300407.SZ', '300408.SZ', '300409.SZ', '300410.SZ', '300411.SZ', '300412.SZ', '300413.SZ', '300414.SZ', '300415.SZ', '300416.SZ', '300417.SZ', '300418.SZ', '300419.SZ', '300420.SZ', '300421.SZ', '300422.SZ', '300423.SZ', '300424.SZ', '300425.SZ', '300426.SZ', '300427.SZ', '300428.SZ', '300429.SZ', '300430.SZ', '300431.SZ', '300432.SZ', '300433.SZ', '300434.SZ', '300435.SZ', '300436.SZ', '300437.SZ', '300438.SZ', '300439.SZ', '300440.SZ', '300441.SZ', '300442.SZ', '300443.SZ', '300444.SZ', '300445.SZ', '300446.SZ', '300447.SZ', '300448.SZ', '300449.SZ', '300450.SZ', '300451.SZ', '300452.SZ', '300453.SZ', '300454.SZ', '300455.SZ', '300456.SZ', '300457.SZ', '300458.SZ', '300459.SZ', '300460.SZ', '300461.SZ', '300462.SZ', '300463.SZ', '300464.SZ', '300465.SZ', '300466.SZ', '300467.SZ', '300468.SZ', '300469.SZ', '300470.SZ', '300471.SZ', '300472.SZ', '300473.SZ', '300474.SZ', '300475.SZ', '300476.SZ', '300477.SZ', '300478.SZ', '300479.SZ', '300480.SZ', '300481.SZ', '300482.SZ', '300483.SZ', '300484.SZ', '300485.SZ', '300486.SZ', '300487.SZ', '300488.SZ', '300489.SZ', '300490.SZ', '300491.SZ', '300492.SZ', '300493.SZ', '300494.SZ', '300495.SZ', '300496.SZ', '300497.SZ', '300498.SZ', '300499.SZ', '300500.SZ', '300501.SZ', '300502.SZ', '300503.SZ', '300504.SZ', '300505.SZ', '300506.SZ', '300507.SZ', '300508.SZ', '300509.SZ', '300510.SZ', '300511.SZ', '300512.SZ', '300513.SZ', '300514.SZ', '300515.SZ', '300516.SZ', '300517.SZ', '300518.SZ', '300519.SZ', '300520.SZ', '300521.SZ', '300522.SZ', '300523.SZ', '300525.SZ', '300526.SZ', '300527.SZ', '300528.SZ', '300529.SZ', '300530.SZ', '300531.SZ', '300532.SZ', '300533.SZ', '300534.SZ', '300535.SZ', '300536.SZ', '300537.SZ', '300538.SZ', '300539.SZ', '300540.SZ', '300541.SZ', '300542.SZ', '300543.SZ', '300545.SZ', '300546.SZ', '300547.SZ', '300548.SZ', '300549.SZ', '300550.SZ', '300551.SZ', '300552.SZ', '300553.SZ', '300554.SZ', '300555.SZ', '300556.SZ', '300557.SZ', '300558.SZ', '300559.SZ', '300560.SZ', '300561.SZ', '300562.SZ', '300563.SZ', '300565.SZ', '300566.SZ', '300567.SZ', '300568.SZ', '300569.SZ', '300570.SZ', '300571.SZ', '300572.SZ', '300573.SZ', '300575.SZ', '300576.SZ', '300577.SZ', '300578.SZ', '300579.SZ', '300580.SZ', '300581.SZ', '300582.SZ', '300583.SZ', '300584.SZ', '300585.SZ', '300586.SZ', '300587.SZ', '300588.SZ', '300589.SZ', '300590.SZ', '300591.SZ', '300592.SZ', '300593.SZ', '300595.SZ', '300596.SZ', '300597.SZ', '300598.SZ', '300599.SZ', '300600.SZ', '300601.SZ', '300602.SZ', '300603.SZ', '300604.SZ', '300605.SZ', '300606.SZ', '300607.SZ', '300608.SZ', '300609.SZ', '300610.SZ', '300611.SZ', '300612.SZ', '300613.SZ', '300615.SZ', '300616.SZ', '300617.SZ', '300618.SZ', '300619.SZ', '300620.SZ', '300621.SZ', '300622.SZ', '300623.SZ', '300624.SZ', '300625.SZ', '300626.SZ', '300627.SZ', '300628.SZ', '300629.SZ', '300630.SZ', '300631.SZ', '300632.SZ', '300633.SZ', '300634.SZ', '300635.SZ', '300636.SZ', '300637.SZ', '300638.SZ', '300639.SZ', '300640.SZ', '300641.SZ', '300642.SZ', '300643.SZ', '300644.SZ', '300645.SZ', '300647.SZ', '300648.SZ', '300649.SZ', '300650.SZ', '300651.SZ', '300652.SZ', '300653.SZ', '300654.SZ', '300655.SZ', '300656.SZ', '300657.SZ', '300658.SZ', '300659.SZ', '300660.SZ', '300661.SZ', '300662.SZ', '300663.SZ', '300664.SZ', '300665.SZ', '300666.SZ', '300667.SZ', '300668.SZ', '300669.SZ', '300670.SZ', '300671.SZ', '300672.SZ', '300673.SZ', '300674.SZ', '300675.SZ', '300676.SZ', '300677.SZ', '300678.SZ', '300679.SZ', '300680.SZ', '300681.SZ', '300682.SZ', '300683.SZ', '300684.SZ', '300685.SZ', '300686.SZ', '300687.SZ', '300688.SZ', '300689.SZ', '300690.SZ', '300691.SZ', '300692.SZ', '300693.SZ', '300694.SZ', '300695.SZ', '300696.SZ', '300697.SZ', '300698.SZ', '300699.SZ', '300700.SZ', '300701.SZ', '300702.SZ', '300703.SZ', '300705.SZ', '300706.SZ', '300707.SZ', '300708.SZ', '300709.SZ', '300710.SZ', '300711.SZ', '300712.SZ', '300713.SZ', '300715.SZ', '300716.SZ', '300717.SZ', '300718.SZ', '300719.SZ', '300720.SZ', '300721.SZ', '300722.SZ', '300723.SZ', '300724.SZ', '300725.SZ', '300726.SZ', '300727.SZ', '300729.SZ', '300730.SZ', '300731.SZ', '300732.SZ', '300733.SZ', '300735.SZ', '300736.SZ', '300737.SZ', '300738.SZ', '300739.SZ', '300740.SZ', '300741.SZ', '300742.SZ', '300743.SZ', '300745.SZ', '300746.SZ', '300747.SZ', '300748.SZ', '300749.SZ', '300750.SZ', '300751.SZ', '300752.SZ', '300753.SZ', '300755.SZ', '300756.SZ', '300757.SZ', '300758.SZ', '300759.SZ', '300760.SZ', '300761.SZ', '300762.SZ', '300763.SZ', '300765.SZ', '300766.SZ', '300767.SZ', '300768.SZ', '300769.SZ', '300770.SZ', '300771.SZ', '300772.SZ', '300773.SZ', '300775.SZ', '300776.SZ', '300777.SZ', '300778.SZ', '300779.SZ', '300780.SZ', '600000.SH', '600004.SH', '600006.SH', '600007.SH', '600008.SH', '600009.SH', '600010.SH', '600011.SH', '600012.SH', '600015.SH', '600016.SH', '600017.SH', '600018.SH', '600019.SH', '600020.SH', '600021.SH', '600022.SH', '600023.SH', '600025.SH', '600026.SH', '600027.SH', '600028.SH', '600029.SH', '600030.SH', '600031.SH', '600033.SH', '600035.SH', '600036.SH', '600037.SH', '600038.SH', '600039.SH', '600048.SH', '600050.SH', '600051.SH', '600052.SH', '600053.SH', '600054.SH', '600055.SH', '600056.SH', '600057.SH', '600058.SH', '600059.SH', '600060.SH', '600061.SH', '600062.SH', '600063.SH', '600064.SH', '600066.SH', '600067.SH', '600068.SH', '600069.SH', '600070.SH', '600071.SH', '600072.SH', '600073.SH', '600075.SH', '600076.SH', '600077.SH', '600078.SH', '600079.SH', '600080.SH', '600081.SH', '600082.SH', '600083.SH', '600084.SH', '600085.SH', '600086.SH', '600088.SH', '600089.SH', '600090.SH', '600091.SH', '600093.SH', '600094.SH', '600095.SH', '600096.SH', '600097.SH', '600098.SH', '600099.SH', '600100.SH', '600101.SH', '600103.SH', '600104.SH', '600105.SH', '600106.SH', '600107.SH', '600108.SH', '600109.SH', '600110.SH', '600111.SH', '600112.SH', '600113.SH', '600114.SH', '600115.SH', '600116.SH', '600117.SH', '600118.SH', '600119.SH', '600120.SH', '600121.SH', '600122.SH', '600123.SH', '600125.SH', '600127.SH', '600128.SH', '600129.SH', '600130.SH', '600131.SH', '600132.SH', '600133.SH', '600135.SH', '600136.SH', '600137.SH', '600138.SH', '600139.SH', '600141.SH', '600143.SH', '600146.SH', '600148.SH', '600149.SH', '600150.SH', '600151.SH', '600152.SH', '600153.SH', '600155.SH', '600156.SH', '600157.SH', '600158.SH', '600159.SH', '600160.SH', '600161.SH', '600162.SH', '600163.SH', '600165.SH', '600166.SH', '600167.SH', '600168.SH', '600169.SH', '600170.SH', '600171.SH', '600172.SH', '600173.SH', '600175.SH', '600176.SH', '600177.SH', '600178.SH', '600179.SH', '600180.SH', '600182.SH', '600183.SH', '600184.SH', '600185.SH', '600186.SH', '600187.SH', '600188.SH', '600189.SH', '600190.SH', '600191.SH', '600192.SH', '600193.SH', '600195.SH', '600196.SH', '600197.SH', '600198.SH', '600199.SH', '600200.SH', '600201.SH', '600202.SH', '600203.SH', '600206.SH', '600207.SH', '600208.SH', '600209.SH', '600210.SH', '600211.SH', '600212.SH', '600213.SH', '600215.SH', '600216.SH', '600217.SH', '600218.SH', '600219.SH', '600220.SH', '600221.SH', '600222.SH', '600223.SH', '600225.SH', '600226.SH', '600227.SH', '600228.SH', '600229.SH', '600230.SH', '600231.SH', '600232.SH', '600233.SH', '600234.SH', '600235.SH', '600236.SH', '600237.SH', '600238.SH', '600239.SH', '600240.SH', '600241.SH', '600242.SH', '600243.SH', '600246.SH', '600247.SH', '600248.SH', '600249.SH', '600250.SH', '600251.SH', '600252.SH', '600255.SH', '600256.SH', '600257.SH', '600258.SH', '600259.SH', '600260.SH', '600261.SH', '600262.SH', '600265.SH', '600266.SH', '600267.SH', '600268.SH', '600269.SH', '600271.SH', '600272.SH', '600273.SH', '600275.SH', '600276.SH', '600277.SH', '600278.SH', '600279.SH', '600280.SH', '600281.SH', '600282.SH', '600283.SH', '600284.SH', '600285.SH', '600287.SH', '600288.SH', '600289.SH', '600290.SH', '600291.SH', '600292.SH', '600293.SH', '600295.SH', '600297.SH', '600298.SH', '600299.SH', '600300.SH', '600301.SH', '600302.SH', '600303.SH', '600305.SH', '600306.SH', '600307.SH', '600308.SH', '600309.SH', '600310.SH', '600311.SH', '600312.SH', '600313.SH', '600315.SH', '600316.SH', '600317.SH', '600318.SH', '600319.SH', '600320.SH', '600321.SH', '600322.SH', '600323.SH', '600325.SH', '600326.SH', '600327.SH', '600328.SH', '600329.SH', '600330.SH', '600331.SH', '600332.SH', '600333.SH', '600335.SH', '600336.SH', '600337.SH', '600338.SH', '600339.SH', '600340.SH', '600343.SH', '600345.SH', '600346.SH', '600348.SH', '600350.SH', '600351.SH', '600352.SH', '600354.SH', '600355.SH', '600356.SH', '600358.SH', '600359.SH', '600360.SH', '600361.SH', '600362.SH', '600363.SH', '600365.SH', '600366.SH', '600367.SH', '600368.SH', '600369.SH', '600370.SH', '600371.SH', '600372.SH', '600373.SH', '600375.SH', '600376.SH', '600377.SH', '600378.SH', '600379.SH', '600380.SH', '600381.SH', '600382.SH', '600383.SH', '600385.SH', '600386.SH', '600387.SH', '600388.SH', '600389.SH', '600390.SH', '600391.SH', '600392.SH', '600393.SH', '600395.SH', '600396.SH', '600397.SH', '600398.SH', '600399.SH', '600400.SH', '600401.SH', '600403.SH', '600405.SH', '600406.SH', '600408.SH', '600409.SH', '600410.SH', '600415.SH', '600416.SH', '600418.SH', '600419.SH', '600420.SH', '600421.SH', '600422.SH', '600423.SH', '600425.SH', '600426.SH', '600428.SH', '600429.SH', '600433.SH', '600435.SH', '600436.SH', '600438.SH', '600439.SH', '600444.SH', '600446.SH', '600448.SH', '600449.SH', '600452.SH', '600455.SH', '600456.SH', '600458.SH', '600459.SH', '600460.SH', '600461.SH', '600462.SH', '600463.SH', '600466.SH', '600467.SH', '600468.SH', '600469.SH', '600470.SH', '600475.SH', '600476.SH', '600477.SH', '600478.SH', '600479.SH', '600480.SH', '600481.SH', '600482.SH', '600483.SH', '600486.SH', '600487.SH', '600488.SH', '600489.SH', '600490.SH', '600491.SH', '600493.SH', '600495.SH', '600496.SH', '600497.SH', '600498.SH', '600499.SH', '600500.SH', '600501.SH', '600502.SH', '600503.SH', '600505.SH', '600506.SH', '600507.SH', '600508.SH', '600509.SH', '600510.SH', '600511.SH', '600512.SH', '600513.SH', '600515.SH', '600516.SH', '600517.SH', '600518.SH', '600519.SH', '600520.SH', '600521.SH', '600522.SH', '600523.SH', '600525.SH', '600526.SH', '600527.SH', '600528.SH', '600529.SH', '600530.SH', '600531.SH', '600532.SH', '600533.SH', '600535.SH', '600536.SH', '600537.SH', '600538.SH', '600539.SH', '600540.SH', '600543.SH', '600545.SH', '600546.SH', '600547.SH', '600548.SH', '600549.SH', '600550.SH', '600551.SH', '600552.SH', '600555.SH', '600556.SH', '600557.SH', '600558.SH', '600559.SH', '600560.SH', '600561.SH', '600562.SH', '600563.SH', '600565.SH', '600566.SH', '600567.SH', '600568.SH', '600569.SH', '600570.SH', '600571.SH', '600572.SH', '600573.SH', '600575.SH', '600576.SH', '600577.SH', '600578.SH', '600579.SH', '600580.SH', '600581.SH', '600582.SH', '600583.SH', '600584.SH', '600585.SH', '600586.SH', '600587.SH', '600588.SH', '600589.SH', '600590.SH', '600592.SH', '600593.SH', '600594.SH', '600595.SH', '600596.SH', '600597.SH', '600598.SH', '600599.SH', '600600.SH', '600601.SH', '600602.SH', '600603.SH', '600604.SH', '600605.SH', '600606.SH', '600608.SH', '600609.SH', '600611.SH', '600612.SH', '600613.SH', '600614.SH', '600615.SH', '600616.SH', '600617.SH', '600618.SH', '600619.SH', '600620.SH', '600621.SH', '600622.SH', '600623.SH', '600624.SH', '600626.SH', '600628.SH', '600629.SH', '600630.SH', '600633.SH', '600634.SH', '600635.SH', '600636.SH', '600637.SH', '600638.SH', '600639.SH', '600640.SH', '600641.SH', '600642.SH', '600643.SH', '600644.SH', '600645.SH', '600647.SH', '600648.SH', '600649.SH', '600650.SH', '600651.SH', '600652.SH', '600653.SH', '600654.SH', '600655.SH', '600657.SH', '600658.SH', '600660.SH', '600661.SH', '600662.SH', '600663.SH', '600664.SH', '600665.SH', '600666.SH', '600667.SH', '600668.SH', '600671.SH', '600673.SH', '600674.SH', '600675.SH', '600676.SH', '600677.SH', '600678.SH', '600679.SH', '600681.SH', '600682.SH', '600683.SH', '600684.SH', '600685.SH', '600686.SH', '600687.SH', '600688.SH', '600689.SH', '600690.SH', '600691.SH', '600692.SH', '600693.SH', '600694.SH', '600695.SH', '600696.SH', '600697.SH', '600698.SH', '600699.SH', '600701.SH', '600702.SH', '600703.SH', '600704.SH', '600705.SH', '600706.SH', '600707.SH', '600708.SH', '600710.SH', '600711.SH', '600712.SH', '600713.SH', '600714.SH', '600715.SH', '600716.SH', '600717.SH', '600718.SH', '600719.SH', '600720.SH', '600721.SH', '600722.SH', '600723.SH', '600724.SH', '600725.SH', '600726.SH', '600727.SH', '600728.SH', '600729.SH', '600730.SH', '600731.SH', '600732.SH', '600733.SH', '600734.SH', '600735.SH', '600736.SH', '600737.SH', '600738.SH', '600739.SH', '600740.SH', '600741.SH', '600742.SH', '600743.SH', '600744.SH', '600745.SH', '600746.SH', '600747.SH', '600748.SH', '600749.SH', '600750.SH', '600751.SH', '600753.SH', '600754.SH', '600755.SH', '600756.SH', '600757.SH', '600758.SH', '600759.SH', '600760.SH', '600761.SH', '600763.SH', '600764.SH', '600765.SH', '600766.SH', '600767.SH', '600768.SH', '600769.SH', '600770.SH', '600771.SH', '600773.SH', '600774.SH', '600775.SH', '600776.SH', '600777.SH', '600778.SH', '600779.SH', '600780.SH', '600781.SH', '600782.SH', '600783.SH', '600784.SH', '600785.SH', '600787.SH', '600789.SH', '600790.SH', '600791.SH', '600792.SH', '600793.SH', '600794.SH', '600795.SH', '600796.SH', '600797.SH', '600798.SH', '600800.SH', '600801.SH', '600802.SH', '600803.SH', '600804.SH', '600805.SH', '600807.SH', '600808.SH', '600809.SH', '600810.SH', '600811.SH', '600812.SH', '600814.SH', '600815.SH', '600816.SH', '600817.SH', '600818.SH', '600819.SH', '600820.SH', '600821.SH', '600822.SH', '600823.SH', '600824.SH', '600825.SH', '600826.SH', '600827.SH', '600828.SH', '600829.SH', '600830.SH', '600831.SH', '600833.SH', '600834.SH', '600835.SH', '600836.SH', '600837.SH', '600838.SH', '600839.SH', '600841.SH', '600843.SH', '600845.SH', '600846.SH', '600847.SH', '600848.SH', '600850.SH', '600851.SH', '600853.SH', '600854.SH', '600855.SH', '600856.SH', '600857.SH', '600858.SH', '600859.SH', '600860.SH', '600861.SH', '600862.SH', '600863.SH', '600864.SH', '600865.SH', '600866.SH', '600867.SH', '600868.SH', '600869.SH', '600870.SH', '600871.SH', '600872.SH', '600873.SH', '600874.SH', '600875.SH', '600876.SH', '600877.SH', '600879.SH', '600880.SH', '600881.SH', '600882.SH', '600883.SH', '600884.SH', '600885.SH', '600886.SH', '600887.SH', '600888.SH', '600889.SH', '600890.SH', '600891.SH', '600892.SH', '600893.SH', '600894.SH', '600895.SH', '600896.SH', '600897.SH', '600898.SH', '600900.SH', '600901.SH', '600903.SH', '600908.SH', '600909.SH', '600917.SH', '600919.SH', '600926.SH', '600928.SH', '600929.SH', '600933.SH', '600936.SH', '600939.SH', '600958.SH', '600959.SH', '600960.SH', '600961.SH', '600962.SH', '600963.SH', '600965.SH', '600966.SH', '600967.SH', '600969.SH', '600970.SH', '600971.SH', '600973.SH', '600975.SH', '600976.SH', '600977.SH', '600978.SH', '600979.SH', '600980.SH', '600981.SH', '600982.SH', '600983.SH', '600984.SH', '600985.SH', '600986.SH', '600987.SH', '600988.SH', '600989.SH', '600990.SH', '600992.SH', '600993.SH', '600995.SH', '600996.SH', '600997.SH', '600998.SH', '600999.SH', '601000.SH', '601001.SH', '601002.SH', '601003.SH', '601005.SH', '601006.SH', '601007.SH', '601008.SH', '601009.SH', '601010.SH', '601011.SH', '601012.SH', '601015.SH', '601016.SH', '601018.SH', '601019.SH', '601020.SH', '601021.SH', '601028.SH', '601038.SH', '601058.SH', '601066.SH', '601068.SH', '601069.SH', '601086.SH', '601088.SH', '601098.SH', '601099.SH', '601100.SH', '601101.SH', '601106.SH', '601107.SH', '601108.SH', '601111.SH', '601113.SH', '601116.SH', '601117.SH', '601118.SH', '601126.SH', '601127.SH', '601128.SH', '601137.SH', '601138.SH', '601139.SH', '601155.SH', '601158.SH', '601162.SH', '601163.SH', '601166.SH', '601168.SH', '601169.SH', '601177.SH', '601179.SH', '601186.SH', '601188.SH', '601198.SH', '601199.SH', '601200.SH', '601208.SH', '601211.SH', '601212.SH', '601216.SH', '601218.SH', '601222.SH', '601225.SH', '601226.SH', '601228.SH', '601229.SH', '601231.SH', '601233.SH', '601238.SH', '601258.SH', '601288.SH', '601298.SH', '601311.SH', '601318.SH', '601319.SH', '601326.SH', '601328.SH', '601330.SH', '601333.SH', '601336.SH', '601339.SH', '601360.SH', '601366.SH', '601368.SH', '601369.SH', '601375.SH', '601377.SH', '601388.SH', '601390.SH', '601398.SH', '601500.SH', '601515.SH', '601518.SH', '601519.SH', '601555.SH', '601558.SH', '601566.SH', '601567.SH', '601577.SH', '601579.SH', '601588.SH', '601595.SH', '601598.SH', '601599.SH', '601600.SH', '601601.SH', '601606.SH', '601607.SH', '601608.SH', '601611.SH', '601615.SH', '601616.SH', '601618.SH', '601619.SH', '601628.SH', '601633.SH', '601636.SH', '601666.SH', '601668.SH', '601669.SH', '601677.SH', '601678.SH', '601688.SH', '601689.SH', '601699.SH', '601700.SH', '601717.SH', '601718.SH', '601727.SH', '601766.SH', '601777.SH', '601788.SH', '601789.SH', '601798.SH', '601799.SH', '601800.SH', '601801.SH', '601808.SH', '601811.SH', '601818.SH', '601828.SH', '601838.SH', '601857.SH', '601858.SH', '601860.SH', '601865.SH', '601866.SH', '601869.SH', '601872.SH', '601877.SH', '601878.SH', '601880.SH', '601881.SH', '601882.SH', '601886.SH', '601888.SH', '601890.SH', '601898.SH', '601899.SH', '601900.SH', '601901.SH', '601908.SH', '601918.SH', '601919.SH', '601928.SH', '601929.SH', '601933.SH', '601939.SH', '601949.SH', '601952.SH', '601958.SH', '601965.SH', '601966.SH', '601968.SH', '601969.SH', '601975.SH', '601985.SH', '601988.SH', '601989.SH', '601990.SH', '601991.SH', '601992.SH', '601996.SH', '601997.SH', '601998.SH', '601999.SH', '603000.SH', '603001.SH', '603002.SH', '603003.SH', '603005.SH', '603006.SH', '603007.SH', '603008.SH', '603009.SH', '603010.SH', '603011.SH', '603012.SH', '603013.SH', '603015.SH', '603016.SH', '603017.SH', '603018.SH', '603019.SH', '603020.SH', '603021.SH', '603022.SH', '603023.SH', '603025.SH', '603026.SH', '603027.SH', '603028.SH', '603029.SH', '603030.SH', '603031.SH', '603032.SH', '603033.SH', '603035.SH', '603036.SH', '603037.SH', '603038.SH', '603039.SH', '603040.SH', '603041.SH', '603042.SH', '603043.SH', '603045.SH', '603050.SH', '603055.SH', '603056.SH', '603058.SH', '603059.SH', '603060.SH', '603063.SH', '603066.SH', '603067.SH', '603068.SH', '603069.SH', '603076.SH', '603077.SH', '603078.SH', '603079.SH', '603080.SH', '603081.SH', '603083.SH', '603085.SH', '603086.SH', '603088.SH', '603089.SH', '603090.SH', '603096.SH', '603098.SH', '603099.SH', '603100.SH', '603101.SH', '603103.SH', '603105.SH', '603106.SH', '603108.SH', '603110.SH', '603111.SH', '603113.SH', '603116.SH', '603117.SH', '603118.SH', '603121.SH', '603123.SH', '603126.SH', '603127.SH', '603128.SH', '603129.SH', '603131.SH', '603133.SH', '603136.SH', '603138.SH', '603139.SH', '603156.SH', '603157.SH', '603158.SH', '603159.SH', '603160.SH', '603161.SH', '603165.SH', '603166.SH', '603167.SH', '603168.SH', '603169.SH', '603177.SH', '603178.SH', '603179.SH', '603180.SH', '603181.SH', '603183.SH', '603185.SH', '603186.SH', '603187.SH', '603188.SH', '603189.SH', '603192.SH', '603196.SH', '603197.SH', '603198.SH', '603199.SH', '603200.SH', '603203.SH', '603208.SH', '603214.SH', '603218.SH', '603220.SH', '603222.SH', '603223.SH', '603225.SH', '603226.SH', '603227.SH', '603228.SH', '603229.SH', '603232.SH', '603233.SH', '603238.SH', '603239.SH', '603258.SH', '603259.SH', '603260.SH', '603266.SH', '603267.SH', '603268.SH', '603269.SH', '603277.SH', '603278.SH', '603283.SH', '603286.SH', '603288.SH', '603289.SH', '603297.SH', '603298.SH', '603299.SH', '603300.SH', '603301.SH', '603303.SH', '603305.SH', '603306.SH', '603308.SH', '603309.SH', '603311.SH', '603313.SH', '603315.SH', '603316.SH', '603317.SH', '603318.SH', '603319.SH', '603320.SH', '603321.SH', '603322.SH', '603323.SH', '603326.SH', '603327.SH', '603328.SH', '603329.SH', '603330.SH', '603331.SH', '603332.SH', '603333.SH', '603335.SH', '603336.SH', '603337.SH', '603338.SH', '603339.SH', '603345.SH', '603348.SH', '603351.SH', '603355.SH', '603356.SH', '603357.SH', '603358.SH', '603359.SH', '603360.SH', '603363.SH', '603365.SH', '603366.SH', '603367.SH', '603368.SH', '603369.SH', '603377.SH', '603378.SH', '603379.SH', '603380.SH', '603383.SH', '603385.SH', '603386.SH', '603387.SH', '603388.SH', '603389.SH', '603393.SH', '603396.SH', '603398.SH', '603399.SH', '603416.SH', '603421.SH', '603429.SH', '603444.SH', '603456.SH', '603458.SH', '603466.SH', '603477.SH', '603486.SH', '603488.SH', '603496.SH', '603499.SH', '603500.SH', '603501.SH', '603505.SH', '603506.SH', '603507.SH', '603508.SH', '603515.SH', '603516.SH', '603517.SH', '603518.SH', '603519.SH', '603520.SH', '603527.SH', '603528.SH', '603533.SH', '603535.SH', '603536.SH', '603538.SH', '603555.SH', '603556.SH', '603557.SH', '603558.SH', '603559.SH', '603566.SH', '603567.SH', '603568.SH', '603569.SH', '603577.SH', '603578.SH', '603579.SH', '603580.SH', '603583.SH', '603585.SH', '603586.SH', '603587.SH', '603588.SH', '603589.SH', '603590.SH', '603595.SH', '603596.SH', '603598.SH', '603599.SH', '603600.SH', '603601.SH', '603602.SH', '603603.SH', '603605.SH', '603606.SH', '603607.SH', '603608.SH', '603609.SH', '603611.SH', '603612.SH', '603615.SH', '603616.SH', '603617.SH', '603618.SH', '603619.SH', '603626.SH', '603628.SH', '603629.SH', '603630.SH', '603633.SH', '603636.SH', '603637.SH', '603638.SH', '603639.SH', '603648.SH', '603650.SH', '603655.SH', '603656.SH', '603657.SH', '603658.SH', '603659.SH', '603660.SH', '603661.SH', '603663.SH', '603665.SH', '603666.SH', '603667.SH', '603668.SH', '603669.SH', '603676.SH', '603677.SH', '603678.SH', '603679.SH', '603680.SH', '603681.SH', '603683.SH', '603685.SH', '603686.SH', '603688.SH', '603689.SH', '603690.SH', '603693.SH', '603696.SH', '603697.SH', '603698.SH', '603699.SH', '603700.SH', '603701.SH', '603703.SH', '603706.SH', '603707.SH', '603708.SH', '603709.SH', '603711.SH', '603712.SH', '603713.SH', '603716.SH', '603717.SH', '603718.SH', '603721.SH', '603722.SH', '603725.SH', '603726.SH', '603727.SH', '603728.SH', '603729.SH', '603730.SH', '603733.SH', '603737.SH', '603738.SH', '603739.SH', '603757.SH', '603758.SH', '603766.SH', '603767.SH', '603768.SH', '603773.SH', '603776.SH', '603777.SH', '603778.SH', '603779.SH', '603787.SH', '603788.SH', '603789.SH', '603790.SH', '603797.SH', '603798.SH', '603799.SH', '603800.SH', '603801.SH', '603803.SH', '603806.SH', '603808.SH', '603809.SH', '603810.SH', '603811.SH', '603813.SH', '603816.SH', '603817.SH', '603818.SH', '603819.SH', '603822.SH', '603823.SH', '603825.SH', '603826.SH', '603828.SH', '603829.SH', '603833.SH', '603838.SH', '603839.SH', '603843.SH', '603848.SH', '603855.SH', '603856.SH', '603858.SH', '603859.SH', '603860.SH', '603861.SH', '603866.SH', '603868.SH', '603869.SH', '603871.SH', '603876.SH', '603877.SH', '603878.SH', '603879.SH', '603880.SH', '603881.SH', '603882.SH', '603883.SH', '603885.SH', '603886.SH', '603887.SH', '603888.SH', '603889.SH', '603890.SH', '603895.SH', '603896.SH', '603897.SH', '603898.SH', '603899.SH', '603900.SH', '603901.SH', '603903.SH', '603906.SH', '603908.SH', '603909.SH', '603912.SH', '603916.SH', '603917.SH', '603918.SH', '603919.SH', '603920.SH', '603922.SH', '603926.SH', '603928.SH', '603929.SH', '603933.SH', '603936.SH', '603937.SH', '603938.SH', '603939.SH', '603955.SH', '603956.SH', '603958.SH', '603959.SH', '603960.SH', '603963.SH', '603966.SH', '603967.SH', '603968.SH', '603969.SH', '603970.SH', '603976.SH', '603977.SH', '603978.SH', '603979.SH', '603980.SH', '603982.SH', '603985.SH', '603986.SH', '603987.SH', '603988.SH', '603989.SH', '603990.SH', '603991.SH', '603993.SH', '603996.SH', '603997.SH', '603998.SH', '603999.SH']\n",
      "2016-09-13\n",
      "000029.SZ\n",
      "2019-05-27\n",
      "000062.SZ\n",
      "2019-05-07\n",
      "000418.SZ\n",
      "2019-05-17\n",
      "002049.SZ\n",
      "2019-04-30\n",
      "002263.SZ\n",
      "2018-08-16\n",
      "002323.SZ\n",
      "2019-05-24\n",
      "['002338.SZ', '600126.SH']\n",
      "2019-05-21\n",
      "300173.SZ\n",
      "2019-04-25\n",
      "600074.SH\n",
      "2015-12-04\n",
      "600145.SH\n",
      "2019-05-30\n",
      "600353.SH\n",
      "2016-12-23\n",
      "600485.SH\n",
      "2019-04-29\n",
      "600610.SH\n",
      "2019-05-29\n",
      "600844.SH\n"
     ]
    }
   ],
   "source": [
    "# 更新的截止日期\n",
    "et = datetime.today().date() - timedelta(days=1)\n",
    "et = et.strptime(et, \"%Y-%m-%d\")\n",
    "# 对于某个日期，数量少(小于500只股票)的stock，采取按code，一只一只更新，不采取批量更新的办法\n",
    "list_single_update_by_code = []\n",
    "for last_update_date,stock_codes in dic_date_stocks.items():\n",
    "    if len(stock_codes) < 500:\n",
    "        list_single_update_by_code.append(stock_codes)\n",
    "        continue\n",
    "    list_trade_date = trade_date_util.get_trade_date_range(last_update_date, et)\n",
    "    if list_trade_date:\n",
    "        # get_trade_date_range返回的是闭区间，所有把记录的最后一天的下一天，作为开始更新更新的时间\n",
    "        list_trade_date.pop(0)\n",
    "        for day in list_trade_date:\n",
    "            tmp = day.split('-')\n",
    "            day = tmp[0] + tmp[1] + tmp[2]\n",
    "            df_update_data = self.pro.daily_basic(ts_code='', trade_date=day)\n",
    "            if df_update_data.empty:\n",
    "                print(\"%s, 获取当天valuation，返回为空\" % day)\n",
    "                continue\n",
    "            for i in range(len(df_update_data)):\n",
    "                df_stock = pd.DataFrame(data=[df_update_data.iloc[i].values],\n",
    "                                        index=pd.Index([df_update_data.index[i]]),\n",
    "                                        columns=columns_name)\n",
    "                update_stock_code = df_update_data.iloc[i, df_update_data.index.get_loc('ts_code')]\n",
    "                if stock_code in stock_codes:\n",
    "                    valuation_file = basic_dir + stock_code + '.csv'\n",
    "                    df_stock.to_csv(valuation_file, mode='a', header=None)\n",
    "    print(\"批量更新结束，本次共更新：%d\" % len(stock_codes))\n",
    "                    \n",
    "                \n",
    "                    \n",
    "                    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_zq = pro.index_daily(ts_code='399975.SZ',start_date='20070725', end_date='20190621')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>money</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2897</th>\n",
       "      <td>20070725</td>\n",
       "      <td>1177.1990</td>\n",
       "      <td>1205.1330</td>\n",
       "      <td>1210.5040</td>\n",
       "      <td>1177.1990</td>\n",
       "      <td>635316.73</td>\n",
       "      <td>3.428889e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2896</th>\n",
       "      <td>20070726</td>\n",
       "      <td>1213.1960</td>\n",
       "      <td>1263.7720</td>\n",
       "      <td>1285.0450</td>\n",
       "      <td>1213.1960</td>\n",
       "      <td>705473.99</td>\n",
       "      <td>3.758875e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2895</th>\n",
       "      <td>20070727</td>\n",
       "      <td>1244.7440</td>\n",
       "      <td>1233.3970</td>\n",
       "      <td>1259.5910</td>\n",
       "      <td>1225.6440</td>\n",
       "      <td>445309.59</td>\n",
       "      <td>2.433715e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2894</th>\n",
       "      <td>20070730</td>\n",
       "      <td>1246.3650</td>\n",
       "      <td>1238.4040</td>\n",
       "      <td>1254.1550</td>\n",
       "      <td>1222.8210</td>\n",
       "      <td>483830.12</td>\n",
       "      <td>2.588837e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2893</th>\n",
       "      <td>20070731</td>\n",
       "      <td>1232.2210</td>\n",
       "      <td>1240.8250</td>\n",
       "      <td>1258.7350</td>\n",
       "      <td>1230.4490</td>\n",
       "      <td>396443.72</td>\n",
       "      <td>2.206119e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2892</th>\n",
       "      <td>20070801</td>\n",
       "      <td>1250.2600</td>\n",
       "      <td>1203.2500</td>\n",
       "      <td>1280.7160</td>\n",
       "      <td>1203.2500</td>\n",
       "      <td>543561.91</td>\n",
       "      <td>2.960454e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2891</th>\n",
       "      <td>20070802</td>\n",
       "      <td>1211.5840</td>\n",
       "      <td>1232.2850</td>\n",
       "      <td>1242.4130</td>\n",
       "      <td>1200.9430</td>\n",
       "      <td>513871.79</td>\n",
       "      <td>2.937767e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2890</th>\n",
       "      <td>20070803</td>\n",
       "      <td>1251.8530</td>\n",
       "      <td>1350.1730</td>\n",
       "      <td>1350.1730</td>\n",
       "      <td>1251.8530</td>\n",
       "      <td>883237.35</td>\n",
       "      <td>5.230786e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2889</th>\n",
       "      <td>20070806</td>\n",
       "      <td>1356.3660</td>\n",
       "      <td>1367.6670</td>\n",
       "      <td>1399.4260</td>\n",
       "      <td>1348.7310</td>\n",
       "      <td>602216.19</td>\n",
       "      <td>3.659998e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2888</th>\n",
       "      <td>20070807</td>\n",
       "      <td>1368.0780</td>\n",
       "      <td>1389.1100</td>\n",
       "      <td>1421.1720</td>\n",
       "      <td>1368.0780</td>\n",
       "      <td>642583.30</td>\n",
       "      <td>3.914650e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2887</th>\n",
       "      <td>20070808</td>\n",
       "      <td>1373.0410</td>\n",
       "      <td>1372.1310</td>\n",
       "      <td>1411.7470</td>\n",
       "      <td>1363.6360</td>\n",
       "      <td>546080.12</td>\n",
       "      <td>3.170826e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2886</th>\n",
       "      <td>20070809</td>\n",
       "      <td>1369.5420</td>\n",
       "      <td>1460.4740</td>\n",
       "      <td>1462.9290</td>\n",
       "      <td>1369.5420</td>\n",
       "      <td>517007.17</td>\n",
       "      <td>2.986968e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2885</th>\n",
       "      <td>20070810</td>\n",
       "      <td>1453.9090</td>\n",
       "      <td>1449.3260</td>\n",
       "      <td>1461.2080</td>\n",
       "      <td>1418.9370</td>\n",
       "      <td>531416.24</td>\n",
       "      <td>2.846210e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2884</th>\n",
       "      <td>20070813</td>\n",
       "      <td>1456.8230</td>\n",
       "      <td>1427.4490</td>\n",
       "      <td>1505.5970</td>\n",
       "      <td>1413.5910</td>\n",
       "      <td>551159.84</td>\n",
       "      <td>3.321311e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2883</th>\n",
       "      <td>20070814</td>\n",
       "      <td>1428.1140</td>\n",
       "      <td>1546.5830</td>\n",
       "      <td>1564.1930</td>\n",
       "      <td>1428.1140</td>\n",
       "      <td>688707.13</td>\n",
       "      <td>4.397993e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2882</th>\n",
       "      <td>20070815</td>\n",
       "      <td>1519.3660</td>\n",
       "      <td>1515.3920</td>\n",
       "      <td>1560.4000</td>\n",
       "      <td>1495.6190</td>\n",
       "      <td>580450.34</td>\n",
       "      <td>3.593296e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2881</th>\n",
       "      <td>20070816</td>\n",
       "      <td>1518.8910</td>\n",
       "      <td>1465.9010</td>\n",
       "      <td>1518.8910</td>\n",
       "      <td>1457.4030</td>\n",
       "      <td>484939.40</td>\n",
       "      <td>2.955805e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2880</th>\n",
       "      <td>20070817</td>\n",
       "      <td>1465.9010</td>\n",
       "      <td>1451.9860</td>\n",
       "      <td>1528.2470</td>\n",
       "      <td>1450.6650</td>\n",
       "      <td>457425.74</td>\n",
       "      <td>2.969373e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2879</th>\n",
       "      <td>20070820</td>\n",
       "      <td>1517.9440</td>\n",
       "      <td>1578.9490</td>\n",
       "      <td>1580.5570</td>\n",
       "      <td>1511.3600</td>\n",
       "      <td>479664.23</td>\n",
       "      <td>3.227261e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2878</th>\n",
       "      <td>20070821</td>\n",
       "      <td>1586.8870</td>\n",
       "      <td>1639.4510</td>\n",
       "      <td>1640.4380</td>\n",
       "      <td>1586.8870</td>\n",
       "      <td>362520.95</td>\n",
       "      <td>2.351825e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2877</th>\n",
       "      <td>20070822</td>\n",
       "      <td>1602.8580</td>\n",
       "      <td>1667.0180</td>\n",
       "      <td>1674.0680</td>\n",
       "      <td>1602.8580</td>\n",
       "      <td>410258.15</td>\n",
       "      <td>2.512865e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2876</th>\n",
       "      <td>20070823</td>\n",
       "      <td>1670.4520</td>\n",
       "      <td>1761.5100</td>\n",
       "      <td>1811.3250</td>\n",
       "      <td>1667.3510</td>\n",
       "      <td>477091.02</td>\n",
       "      <td>3.151362e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2875</th>\n",
       "      <td>20070824</td>\n",
       "      <td>1777.9540</td>\n",
       "      <td>1747.7090</td>\n",
       "      <td>1777.9540</td>\n",
       "      <td>1738.2630</td>\n",
       "      <td>440084.76</td>\n",
       "      <td>3.266709e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2874</th>\n",
       "      <td>20070827</td>\n",
       "      <td>1748.3420</td>\n",
       "      <td>1744.1740</td>\n",
       "      <td>1750.2760</td>\n",
       "      <td>1742.9400</td>\n",
       "      <td>181594.11</td>\n",
       "      <td>7.730178e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2873</th>\n",
       "      <td>20070828</td>\n",
       "      <td>1743.0400</td>\n",
       "      <td>1746.6750</td>\n",
       "      <td>1747.5090</td>\n",
       "      <td>1740.3390</td>\n",
       "      <td>170985.28</td>\n",
       "      <td>7.271084e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2872</th>\n",
       "      <td>20070829</td>\n",
       "      <td>1747.0080</td>\n",
       "      <td>1749.9760</td>\n",
       "      <td>1753.2780</td>\n",
       "      <td>1747.0080</td>\n",
       "      <td>263300.26</td>\n",
       "      <td>1.159171e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2871</th>\n",
       "      <td>20070830</td>\n",
       "      <td>1749.9430</td>\n",
       "      <td>1750.3430</td>\n",
       "      <td>1750.9430</td>\n",
       "      <td>1748.2760</td>\n",
       "      <td>140579.96</td>\n",
       "      <td>6.156839e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2870</th>\n",
       "      <td>20070831</td>\n",
       "      <td>1775.9990</td>\n",
       "      <td>1657.6240</td>\n",
       "      <td>1775.9990</td>\n",
       "      <td>1647.6210</td>\n",
       "      <td>635658.87</td>\n",
       "      <td>5.126593e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2869</th>\n",
       "      <td>20070903</td>\n",
       "      <td>1658.6280</td>\n",
       "      <td>1692.0830</td>\n",
       "      <td>1724.1700</td>\n",
       "      <td>1656.6600</td>\n",
       "      <td>464829.02</td>\n",
       "      <td>3.584503e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2868</th>\n",
       "      <td>20070904</td>\n",
       "      <td>1698.0480</td>\n",
       "      <td>1621.5570</td>\n",
       "      <td>1698.0480</td>\n",
       "      <td>1609.8290</td>\n",
       "      <td>488896.62</td>\n",
       "      <td>3.779548e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>20190510</td>\n",
       "      <td>695.8793</td>\n",
       "      <td>715.1898</td>\n",
       "      <td>718.1573</td>\n",
       "      <td>682.5283</td>\n",
       "      <td>27591474.00</td>\n",
       "      <td>2.951191e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>20190513</td>\n",
       "      <td>702.6722</td>\n",
       "      <td>698.7393</td>\n",
       "      <td>707.1716</td>\n",
       "      <td>696.0161</td>\n",
       "      <td>14830926.00</td>\n",
       "      <td>1.567958e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>20190514</td>\n",
       "      <td>690.3985</td>\n",
       "      <td>691.1097</td>\n",
       "      <td>705.3892</td>\n",
       "      <td>690.2787</td>\n",
       "      <td>14767014.00</td>\n",
       "      <td>1.554321e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>20190515</td>\n",
       "      <td>697.7368</td>\n",
       "      <td>703.5995</td>\n",
       "      <td>706.6806</td>\n",
       "      <td>695.7525</td>\n",
       "      <td>15558587.00</td>\n",
       "      <td>1.707681e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>20190516</td>\n",
       "      <td>702.1558</td>\n",
       "      <td>703.5887</td>\n",
       "      <td>706.9829</td>\n",
       "      <td>697.4073</td>\n",
       "      <td>12338703.00</td>\n",
       "      <td>1.275443e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>20190517</td>\n",
       "      <td>704.8811</td>\n",
       "      <td>674.0724</td>\n",
       "      <td>705.4170</td>\n",
       "      <td>669.4310</td>\n",
       "      <td>17987403.00</td>\n",
       "      <td>1.803187e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>20190520</td>\n",
       "      <td>670.1911</td>\n",
       "      <td>681.0822</td>\n",
       "      <td>689.8232</td>\n",
       "      <td>669.7461</td>\n",
       "      <td>14329812.00</td>\n",
       "      <td>1.457932e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>20190521</td>\n",
       "      <td>679.9339</td>\n",
       "      <td>690.9907</td>\n",
       "      <td>698.3165</td>\n",
       "      <td>679.5792</td>\n",
       "      <td>13620433.00</td>\n",
       "      <td>1.473500e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>20190522</td>\n",
       "      <td>691.1720</td>\n",
       "      <td>683.7428</td>\n",
       "      <td>694.3965</td>\n",
       "      <td>679.6056</td>\n",
       "      <td>10556729.00</td>\n",
       "      <td>1.086874e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>20190523</td>\n",
       "      <td>680.2075</td>\n",
       "      <td>682.0145</td>\n",
       "      <td>694.5987</td>\n",
       "      <td>676.9798</td>\n",
       "      <td>12904626.00</td>\n",
       "      <td>1.344427e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>20190524</td>\n",
       "      <td>680.8208</td>\n",
       "      <td>681.8477</td>\n",
       "      <td>689.1499</td>\n",
       "      <td>680.8208</td>\n",
       "      <td>9761285.00</td>\n",
       "      <td>1.032188e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>20190527</td>\n",
       "      <td>683.0191</td>\n",
       "      <td>701.5919</td>\n",
       "      <td>705.0084</td>\n",
       "      <td>678.1787</td>\n",
       "      <td>18831613.00</td>\n",
       "      <td>2.017926e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>20190528</td>\n",
       "      <td>699.0007</td>\n",
       "      <td>701.9968</td>\n",
       "      <td>707.7036</td>\n",
       "      <td>694.6471</td>\n",
       "      <td>15544252.00</td>\n",
       "      <td>1.645381e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>20190529</td>\n",
       "      <td>696.3534</td>\n",
       "      <td>698.5021</td>\n",
       "      <td>707.1296</td>\n",
       "      <td>695.2659</td>\n",
       "      <td>12540525.00</td>\n",
       "      <td>1.352525e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>20190530</td>\n",
       "      <td>694.7703</td>\n",
       "      <td>689.5077</td>\n",
       "      <td>695.0776</td>\n",
       "      <td>684.4705</td>\n",
       "      <td>10683991.00</td>\n",
       "      <td>1.162229e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>20190531</td>\n",
       "      <td>690.3227</td>\n",
       "      <td>685.7141</td>\n",
       "      <td>694.9716</td>\n",
       "      <td>685.5000</td>\n",
       "      <td>8948725.00</td>\n",
       "      <td>9.516583e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>20190603</td>\n",
       "      <td>689.9779</td>\n",
       "      <td>685.8948</td>\n",
       "      <td>700.1965</td>\n",
       "      <td>683.4314</td>\n",
       "      <td>12545322.00</td>\n",
       "      <td>1.366330e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>20190604</td>\n",
       "      <td>684.4218</td>\n",
       "      <td>683.6913</td>\n",
       "      <td>687.0745</td>\n",
       "      <td>678.7708</td>\n",
       "      <td>10571393.00</td>\n",
       "      <td>1.117487e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>20190605</td>\n",
       "      <td>692.3033</td>\n",
       "      <td>689.0597</td>\n",
       "      <td>699.0172</td>\n",
       "      <td>687.6366</td>\n",
       "      <td>12536580.00</td>\n",
       "      <td>1.396414e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>20190606</td>\n",
       "      <td>688.6087</td>\n",
       "      <td>682.1071</td>\n",
       "      <td>695.2720</td>\n",
       "      <td>681.3095</td>\n",
       "      <td>11620377.00</td>\n",
       "      <td>1.242437e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>20190610</td>\n",
       "      <td>681.3280</td>\n",
       "      <td>673.3448</td>\n",
       "      <td>682.9958</td>\n",
       "      <td>658.9508</td>\n",
       "      <td>14296862.00</td>\n",
       "      <td>1.490594e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>20190611</td>\n",
       "      <td>673.4588</td>\n",
       "      <td>708.9048</td>\n",
       "      <td>710.9496</td>\n",
       "      <td>673.1837</td>\n",
       "      <td>24453638.00</td>\n",
       "      <td>2.566156e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>20190612</td>\n",
       "      <td>705.0970</td>\n",
       "      <td>700.1748</td>\n",
       "      <td>710.6116</td>\n",
       "      <td>698.7466</td>\n",
       "      <td>16318758.00</td>\n",
       "      <td>1.750094e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>20190613</td>\n",
       "      <td>699.7534</td>\n",
       "      <td>704.9936</td>\n",
       "      <td>711.0266</td>\n",
       "      <td>698.3538</td>\n",
       "      <td>16117046.00</td>\n",
       "      <td>1.750127e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>20190614</td>\n",
       "      <td>705.8134</td>\n",
       "      <td>690.9136</td>\n",
       "      <td>709.5720</td>\n",
       "      <td>690.2413</td>\n",
       "      <td>15230265.00</td>\n",
       "      <td>1.619984e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>20190617</td>\n",
       "      <td>691.2169</td>\n",
       "      <td>695.9326</td>\n",
       "      <td>699.7418</td>\n",
       "      <td>690.8432</td>\n",
       "      <td>11748396.00</td>\n",
       "      <td>1.271693e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>20190618</td>\n",
       "      <td>697.9391</td>\n",
       "      <td>694.8260</td>\n",
       "      <td>698.4507</td>\n",
       "      <td>688.1621</td>\n",
       "      <td>10541209.00</td>\n",
       "      <td>1.146494e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20190619</td>\n",
       "      <td>738.1244</td>\n",
       "      <td>709.8490</td>\n",
       "      <td>741.6645</td>\n",
       "      <td>709.6457</td>\n",
       "      <td>27518672.00</td>\n",
       "      <td>3.223992e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>20190620</td>\n",
       "      <td>708.1119</td>\n",
       "      <td>752.3771</td>\n",
       "      <td>767.0420</td>\n",
       "      <td>707.5386</td>\n",
       "      <td>45216141.00</td>\n",
       "      <td>5.362061e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>20190621</td>\n",
       "      <td>755.2869</td>\n",
       "      <td>763.6756</td>\n",
       "      <td>771.8363</td>\n",
       "      <td>753.7904</td>\n",
       "      <td>35630063.00</td>\n",
       "      <td>4.521385e+07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2898 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "          date       open      close       high        low       volume  \\\n",
       "2897  20070725  1177.1990  1205.1330  1210.5040  1177.1990    635316.73   \n",
       "2896  20070726  1213.1960  1263.7720  1285.0450  1213.1960    705473.99   \n",
       "2895  20070727  1244.7440  1233.3970  1259.5910  1225.6440    445309.59   \n",
       "2894  20070730  1246.3650  1238.4040  1254.1550  1222.8210    483830.12   \n",
       "2893  20070731  1232.2210  1240.8250  1258.7350  1230.4490    396443.72   \n",
       "2892  20070801  1250.2600  1203.2500  1280.7160  1203.2500    543561.91   \n",
       "2891  20070802  1211.5840  1232.2850  1242.4130  1200.9430    513871.79   \n",
       "2890  20070803  1251.8530  1350.1730  1350.1730  1251.8530    883237.35   \n",
       "2889  20070806  1356.3660  1367.6670  1399.4260  1348.7310    602216.19   \n",
       "2888  20070807  1368.0780  1389.1100  1421.1720  1368.0780    642583.30   \n",
       "2887  20070808  1373.0410  1372.1310  1411.7470  1363.6360    546080.12   \n",
       "2886  20070809  1369.5420  1460.4740  1462.9290  1369.5420    517007.17   \n",
       "2885  20070810  1453.9090  1449.3260  1461.2080  1418.9370    531416.24   \n",
       "2884  20070813  1456.8230  1427.4490  1505.5970  1413.5910    551159.84   \n",
       "2883  20070814  1428.1140  1546.5830  1564.1930  1428.1140    688707.13   \n",
       "2882  20070815  1519.3660  1515.3920  1560.4000  1495.6190    580450.34   \n",
       "2881  20070816  1518.8910  1465.9010  1518.8910  1457.4030    484939.40   \n",
       "2880  20070817  1465.9010  1451.9860  1528.2470  1450.6650    457425.74   \n",
       "2879  20070820  1517.9440  1578.9490  1580.5570  1511.3600    479664.23   \n",
       "2878  20070821  1586.8870  1639.4510  1640.4380  1586.8870    362520.95   \n",
       "2877  20070822  1602.8580  1667.0180  1674.0680  1602.8580    410258.15   \n",
       "2876  20070823  1670.4520  1761.5100  1811.3250  1667.3510    477091.02   \n",
       "2875  20070824  1777.9540  1747.7090  1777.9540  1738.2630    440084.76   \n",
       "2874  20070827  1748.3420  1744.1740  1750.2760  1742.9400    181594.11   \n",
       "2873  20070828  1743.0400  1746.6750  1747.5090  1740.3390    170985.28   \n",
       "2872  20070829  1747.0080  1749.9760  1753.2780  1747.0080    263300.26   \n",
       "2871  20070830  1749.9430  1750.3430  1750.9430  1748.2760    140579.96   \n",
       "2870  20070831  1775.9990  1657.6240  1775.9990  1647.6210    635658.87   \n",
       "2869  20070903  1658.6280  1692.0830  1724.1700  1656.6600    464829.02   \n",
       "2868  20070904  1698.0480  1621.5570  1698.0480  1609.8290    488896.62   \n",
       "...        ...        ...        ...        ...        ...          ...   \n",
       "29    20190510   695.8793   715.1898   718.1573   682.5283  27591474.00   \n",
       "28    20190513   702.6722   698.7393   707.1716   696.0161  14830926.00   \n",
       "27    20190514   690.3985   691.1097   705.3892   690.2787  14767014.00   \n",
       "26    20190515   697.7368   703.5995   706.6806   695.7525  15558587.00   \n",
       "25    20190516   702.1558   703.5887   706.9829   697.4073  12338703.00   \n",
       "24    20190517   704.8811   674.0724   705.4170   669.4310  17987403.00   \n",
       "23    20190520   670.1911   681.0822   689.8232   669.7461  14329812.00   \n",
       "22    20190521   679.9339   690.9907   698.3165   679.5792  13620433.00   \n",
       "21    20190522   691.1720   683.7428   694.3965   679.6056  10556729.00   \n",
       "20    20190523   680.2075   682.0145   694.5987   676.9798  12904626.00   \n",
       "19    20190524   680.8208   681.8477   689.1499   680.8208   9761285.00   \n",
       "18    20190527   683.0191   701.5919   705.0084   678.1787  18831613.00   \n",
       "17    20190528   699.0007   701.9968   707.7036   694.6471  15544252.00   \n",
       "16    20190529   696.3534   698.5021   707.1296   695.2659  12540525.00   \n",
       "15    20190530   694.7703   689.5077   695.0776   684.4705  10683991.00   \n",
       "14    20190531   690.3227   685.7141   694.9716   685.5000   8948725.00   \n",
       "13    20190603   689.9779   685.8948   700.1965   683.4314  12545322.00   \n",
       "12    20190604   684.4218   683.6913   687.0745   678.7708  10571393.00   \n",
       "11    20190605   692.3033   689.0597   699.0172   687.6366  12536580.00   \n",
       "10    20190606   688.6087   682.1071   695.2720   681.3095  11620377.00   \n",
       "9     20190610   681.3280   673.3448   682.9958   658.9508  14296862.00   \n",
       "8     20190611   673.4588   708.9048   710.9496   673.1837  24453638.00   \n",
       "7     20190612   705.0970   700.1748   710.6116   698.7466  16318758.00   \n",
       "6     20190613   699.7534   704.9936   711.0266   698.3538  16117046.00   \n",
       "5     20190614   705.8134   690.9136   709.5720   690.2413  15230265.00   \n",
       "4     20190617   691.2169   695.9326   699.7418   690.8432  11748396.00   \n",
       "3     20190618   697.9391   694.8260   698.4507   688.1621  10541209.00   \n",
       "2     20190619   738.1244   709.8490   741.6645   709.6457  27518672.00   \n",
       "1     20190620   708.1119   752.3771   767.0420   707.5386  45216141.00   \n",
       "0     20190621   755.2869   763.6756   771.8363   753.7904  35630063.00   \n",
       "\n",
       "             money  \n",
       "2897  3.428889e+06  \n",
       "2896  3.758875e+06  \n",
       "2895  2.433715e+06  \n",
       "2894  2.588837e+06  \n",
       "2893  2.206119e+06  \n",
       "2892  2.960454e+06  \n",
       "2891  2.937767e+06  \n",
       "2890  5.230786e+06  \n",
       "2889  3.659998e+06  \n",
       "2888  3.914650e+06  \n",
       "2887  3.170826e+06  \n",
       "2886  2.986968e+06  \n",
       "2885  2.846210e+06  \n",
       "2884  3.321311e+06  \n",
       "2883  4.397993e+06  \n",
       "2882  3.593296e+06  \n",
       "2881  2.955805e+06  \n",
       "2880  2.969373e+06  \n",
       "2879  3.227261e+06  \n",
       "2878  2.351825e+06  \n",
       "2877  2.512865e+06  \n",
       "2876  3.151362e+06  \n",
       "2875  3.266709e+06  \n",
       "2874  7.730178e+05  \n",
       "2873  7.271084e+05  \n",
       "2872  1.159171e+06  \n",
       "2871  6.156839e+05  \n",
       "2870  5.126593e+06  \n",
       "2869  3.584503e+06  \n",
       "2868  3.779548e+06  \n",
       "...            ...  \n",
       "29    2.951191e+07  \n",
       "28    1.567958e+07  \n",
       "27    1.554321e+07  \n",
       "26    1.707681e+07  \n",
       "25    1.275443e+07  \n",
       "24    1.803187e+07  \n",
       "23    1.457932e+07  \n",
       "22    1.473500e+07  \n",
       "21    1.086874e+07  \n",
       "20    1.344427e+07  \n",
       "19    1.032188e+07  \n",
       "18    2.017926e+07  \n",
       "17    1.645381e+07  \n",
       "16    1.352525e+07  \n",
       "15    1.162229e+07  \n",
       "14    9.516583e+06  \n",
       "13    1.366330e+07  \n",
       "12    1.117487e+07  \n",
       "11    1.396414e+07  \n",
       "10    1.242437e+07  \n",
       "9     1.490594e+07  \n",
       "8     2.566156e+07  \n",
       "7     1.750094e+07  \n",
       "6     1.750127e+07  \n",
       "5     1.619984e+07  \n",
       "4     1.271693e+07  \n",
       "3     1.146494e+07  \n",
       "2     3.223992e+07  \n",
       "1     5.362061e+07  \n",
       "0     4.521385e+07  \n",
       "\n",
       "[2898 rows x 7 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_zq = df_zq.sort_values(by=[\"trade_date\"],ascending=True)\n",
    "df_zq = df_zq.rename(columns = {'trade_date':'date','amount':'money','vol':'volume'})\n",
    "tmp = df_zq[[\"date\",'open','close','high','low','volume','money']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "tmp = tmp.set_index(\"date\")\n",
    "tmp.to_csv(r'C:\\quanttime\\data\\index\\jq\\399975.XSHE.csv')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
